メール
 Computer >> コンピューター >  >> ソフトウェア >> メール

【完全ガイド】Gmailを使ってSQL Serverのデータベースメールを設定する方法

Gmailを使ったSQL Serverデータベースメールの設定とは

SQL Server 2005の登場により、メール機能の仕組みは大きく変わりました。それ以前のバージョンでは、SQL Mailを動作させるためにOutlookなどのMAPI対応メールクライアントのインストールが必須でした。しかしSQL Server 2005以降では、メール送信にSMTPサーバーを利用するデータベースメール(Database Mail)が標準となり、セットアップも運用も格段に簡単になっています。

本記事では、Microsoft SQL Server(2005以降)GmailのSMTP認証を利用してデータベースメールを構成する手順を、SSMS(SQL Server Management Studio)の画面操作に沿って詳しく解説します。

データベースメールを設定するメリット

SQL Serverを運用していると、特定の条件が満たされたときにデータベースから自動的にメール通知を受け取りたい場面が多くあります。たとえば、次のようなケースです。

  • データベースオブジェクトが作成・変更されたときにアラートを受け取りたい
  • SQL Serverエージェントのジョブが失敗したときに即座に通知してほしい

これらを手動で監視するのは非常に手間がかかり、見落としのリスクもあります。トリガーやジョブと組み合わせて自動メール通知を仕込んでおけば、障害や変更をリアルタイムに把握でき、運用品質が大きく向上します。そのためには、Gmailアカウントを使ったデータベースメールの構成方法をマスターしておくことが重要です。

データベースメールの設定方法は2通り

データベースメールの構成には、主に次の2つの方法があります。

  1. SQL Serverに同梱されているストアドプロシージャ(sp_send_dbmailなど)を使う方法
  2. SQL Server Management Studio(SSMS)のGUIウィザードを使う方法

本記事では、直感的に操作できるSSMSのGUIを使った手順を紹介します。

事前準備:Gmail側の設定

SQL ServerからGmailのSMTPサーバー経由でメールを送信するには、Gmailアカウント側で外部アプリからのアクセスを許可しておく必要があります。

  1. Gmailの「アカウント設定」を開きます。
  2. 「安全性の低いアプリのアクセス」の項目で「オンにする」を選択します。

補足:現在のGoogleアカウントでは「安全性の低いアプリ」の許可が廃止され、代わりに2段階認証を有効化した上で「アプリパスワード」を発行する方式が推奨されています。後述のSMTP認証では、通常のパスワードではなく発行したアプリパスワードを入力してください。

SSMSでデータベースメールを構成する手順

それでは、SSMSのGUIを使ってGmailを送信用サーバーとして登録する具体的な手順を見ていきましょう。

  1. SSMSで対象のSQL Serverインスタンスに接続します。
  2. オブジェクトエクスプローラーの「管理」ノード配下にある「データベースメール」を右クリックします。
  3. 「データベースメールの構成」をクリックすると、「データベースメール構成ウィザード」が起動します。「次へ」をクリックします。
  4. 「次のタスクを実行することでデータベースメールをセットアップする」を選択して「次へ」をクリックします。
  5. データベースメール機能がまだ有効化されていない場合は確認画面が表示されるので、「はい」をクリックして有効化します(すでに有効な場合はこの画面は表示されません)。
  6. プロファイル名説明を入力し、「追加」ボタンをクリックします。ここでは例として「SQLNotifications」という名前を付けています。
  7. 「新しいアカウント」をクリックすると新規アカウント画面が表示されます。送信用に使うGmailアカウントの情報を入力します。必要に応じて「セキュリティで保護された接続(SSL)が必要」にチェックを入れ、「OK」をクリックします。

GmailのSMTP接続情報(参考)

項目設定値
電子メールアドレス送信用のGmailアドレス
表示名任意(例:SQL Server通知)
サーバー名(SMTP)smtp.gmail.com
ポート番号587(STARTTLS)/ 465(SSL)
SSLチェックを入れる
SMTP認証基本認証
ユーザー名Gmailアドレス
パスワードアプリパスワード
  1. 「OK」をクリックすると元の画面に戻り、作成したアカウントのSMTP情報が一覧に表示されます。「次へ」をクリックして進みます。
  2. 新しいプロファイルが作成されます。「公開」列にチェックを入れ、「既定のプロファイル」「はい」を選択します。これにより、msdbのDatabaseMailUserRoleに属するユーザーがこのプロファイルを利用できるようになります。
  3. 次の画面では、メール送信の動作を制御するシステムパラメータ(再試行回数、添付ファイルの最大サイズなど)を設定できます。既定値のままでも問題ありません。設定が済んだら「次へ」をクリックします。選択内容のサマリーが表示されるので、確認して「完了」をクリックします(修正が必要なら「戻る」で戻れます)。
  4. 処理が完了すると、データベースメールの構成結果を示す画面が表示されます。「閉じる」をクリックしてウィザードを終了します。

テストメールを送信して動作を確認する

  1. オブジェクトエクスプローラーで「データベースメール」を右クリックし、「テストメールの送信」を選択します。
  2. 「宛先」欄に受信確認用のメールアドレスを入力し、必要なら本文を編集して「テストメールの送信」ボタンをクリックします。
  3. 宛先の受信トレイを開くと、「SQL Server Database Mail」からのテストメールが届いているはずです。
  4. 送信後、結果を知らせるダイアログが表示されます。メールが届いていれば「OK」で閉じます。届いていない場合は「トラブルシューティング」をクリックすると、原因調査のためのサポート情報やデータベースメールのログ確認への案内が表示されます。

うまくいかないときのチェックポイント

  • Gmailのアプリパスワードが正しく発行・入力されているか
  • ポート587/465がファイアウォールでブロックされていないか
  • msdbデータベースでService Brokerが有効になっているか(ALTER DATABASE msdb SET ENABLE_BROKER)
  • 送信を実行するユーザーがDatabaseMailUserRoleに属しているか

まとめ

SQL Server 2005以降のデータベースメールは、MAPIクライアント不要のSMTPベースの仕組みへと刷新され、Gmailのような無料のメールサービスとも簡単に連携できます。SSMSのウィザードに沿って進めるだけで構成でき、ジョブ失敗時のアラートやトリガーによる通知など、運用の自動化にすぐ活用できます。まずはテストメールの送信まで試して、通知環境を整えておきましょう。


著者について

Muhammad Ussama(Sam)

SamはNetwork Railのファーストラインサポートエンジニアです。スマートフォンのカスタマイズや検証を趣味とし、Androidのトラブルシューティングと設定に関して豊富な経験を持っています。スマートフォン関連の相談には必ずといっていいほど解決策を用意している、チームの頼れる存在です。余暇には音楽鑑賞やNetflixの動画視聴を楽しんでいます。

  1. あなたのメールが無視される12の理由|すぐに返信をもらうための書き方のコツ

    急ぎで書いたメールなのに、返事がいつまでも来ない——これほどストレスがたまることはありません。しかし、問題は受信者側にあるとは限りません。実は、メールの書き方そのものに原因があるケースも多いのです。 メーリングリストの開封率やクリック率を高めるための研究は数多くありますが、個人や仕事のメールで迅速な返信をもらう方法については、意外と情報が少ないのが現状です。 職場で緊急の案件があるとき、影響力のある人物に自己紹介したいとき、会議の調整をしたいとき——どうすればメールへの返信を早くもらえるのでしょうか? 以下では、あなたのメールへの返信が遅い、あるいはまったく来ない理由を12個紹介します。これ

  2. 【iOS】メールアプリで「差出人なし・件名なし」と表示される問題の解決方法

    メールは私たちの日常生活に欠かせないコミュニケーション手段です。しかし一部のユーザーから、iOSの「メール」アプリで受信したメッセージに「差出人なし」「件名なし」と表示されるという不具合の報告が寄せられています。この問題は以前から存在しており、多くのiOSユーザーに影響を与えてきました。同じ症状でお困りの方は、決してあなただけではありません。特にこの問題はiOS 13で多発している傾向があります。これは、多くのユーザーがiOSやiPadOSをバージョン13にアップデートした後に、こうしたメッセージを受け取り始めたためです。実際に該当のメールを開いてみると、本文には何も内容がなく、「このメッセー