Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Microsoft SQL Server サポートチーム
佐藤美菜
SQL Server の標準機能で、メンテナンス プランや SQL Server エージェント ジョブを利用して、定期的にバックアップを取得したり、ジョブを実行できます。「ついでに、SQL Server の標準機能でその結果をメール通知したいけれど、標準機能でできる?」というご質問をいただきます。
ジョブ管理ツールがなくても、SQL Server の標準機能で行えるメール通知方法がありますので、今回は具体的な設定方法をご案内します。
※ SQL Server エージェントが提供されていない Express Edition では利用できません。その他のエディションでは利用可能です。
概要
メンテナンス プランや SQL Server エージェント ジョブの結果をメール通知するには以下の設定を行います。
- データベース メールの構成
- SQL Server エージェント のメール プロファイルの設定
- オペレータの作成
- ジョブ通知の設定
順番に設定する手順をご紹介します。
なお、通知されるメールの内容は決まっており、残念ながらカスタマイズできません。メールの文言を変更したいなどカスタマイズの要望がある場合は、サードパーティー製のツール等をお探しください。
1. データベース メールの構成
( 1 ) SQL Server Management Studio(SSMS) のオブジェクト エクスプローラーから、[管理] – [データベース メール] を選択して右クリックし、メニューより [データベース メールの構成] を選択します。
( 2 ) [データベース メール構成ウィザードへようこそ] の画面が表示された場合は、[次へ] をクリックします。[構成タスクの選択] にて、[次のタスクを実行してデータベース メールをセットアップする] を選択し、[次へ] をクリックします。
( 3 ) [新しいプロファイル] 画面で下記を設定します。
・[プロファイル名] に任意のプロファイル名を設定
・[SMTP アカウント] - [追加] を実行
( 4 ) [新しいデータベース メール アカウント] 画面で下記を設定します。
・[アカウント名] に任意のアカウント名を設定
・[電子メール アドレス] に任意のメールアドレスを設定
・[電子メールの返信] に任意のメールアドレスを設定
・[サーバー名] に SMTP サーバ名を設定
・[ポート番号] に SMTP サーバで使用しているポート番号を設定
・[SMTP 認証] のオプションで SMTP サーバで設定されている適切な認証モードを選択、設定
( 5 ) [次へ] でウィザードを進め設定を完了します。次に、データベース メールによるメールのテスト送信を行います。
・SQL Server Management Studio [管理] - [データベースメール] を右クリックし、メニューから [テスト電子メールの送信] を実行
・[データベース メール プロファイル] に上記 ( 3 ) で作成したプロファイルを選択
・[宛先] に送信先のメールアドレスを設定
・[テスト電子メールの送信] を実行
・[管理] - [データベース メール] - [データベース メール ログの表示] を実行しエラーがないことを確認
( 6 ) 宛先に設定したメールアドレスに、テストメールが送信されたことを確認します。
2. SQL Server エージェントのメール プロファイルの設定
※ SQL Server エージェント サービスが開始状態で実施します。
( 1 ) SQL Server Management Studio のオブジェクトエクスプローラから [SQL Server エージェント] を右クリックし、メニューから [プロパティ] を選択します。
( 2 ) [警告システム] ページを選択します。
( 3 ) メール セッション欄の [メール プロファイルを有効にする] にチェックを入れ、[メールシステム] にて [データベース メール] を選択し、[メール プロファイル] にて 1. の手順で作成した、メールプロファイルを選択します。
( 4 ) OK をクリックしてウインドウを閉じ、SQL Server エージェントサービスを再起動します。
3. オペレータの作成
( 1 ) SQL Server Management Studio のオブジェクトエクスプローラから [SQL Server エージェント] - [オペレーター ] を右クリックし、メニューから [新しいオペレーター] を選択します。
( 2 ) [名前] に任意の名前を入力し、[電子メール名] に、メールを送信する宛先のメールアドレスを入力します。
( 3 ) OK をクリックしてウインドウを閉じます。
4. ジョブ通知の設定
( 1 ) SQL Server Management Studio のオブジェクトエクスプローラから [SQL Server エージェント] - [ジョブ] を展開し、ジョブ失敗時にメール通知を実施するジョブを右クリックし、メニューからプロパティを選択します。
( 2 ) [通知] ページを選択し、[ジョブ完了時に実行する操作] 欄の [電子メール] にチェックを入れ、プルダウンメニューから c) にて作成したオペレーター、送信のタイミングとして [ジョブ失敗時]/[ジョブ成功時]/[ジョブ完了時] を選択します。
( 3 ) OK をクリックし、ウインドウを閉じます。
設定は以上で完了です。
送付されるメールの内容は下記のような内容となります。
(ジョブ成功時メール例)
ジョブ実行: ''TestMaintenancePlan.Subplan_1'' は 2016/05/23 の 16:59:05 に実行されました実行時間: 0 時間、0 分、14 秒状態: 成功メッセージ: ジョブは成功しました。 ジョブは ユーザー Domain\user01 によって起動されました。最終実行ステップはステップ 1 (Subplan_1) でした。. |
(ジョブ失敗時メール例)
ジョブ実行: ''TestMaintenancePlan.Subplan_1'' は 2016/05/23 の 16:55:26 に実行されました実行時間: 0 時間、0 分、7 秒状態: 失敗メッセージ: ジョブは失敗しました。 ジョブは ユーザー Domain\user01 によって起動されました。最終実行ステップはステップ 1 (Subplan_1) でした。. |
[参考情報]
ジョブ応答の指定
https://technet.microsoft.com/ja-jp/library/ms175152.aspx
データベース メールを使用するように SQL Server エージェント メールを構成する
https://msdn.microsoft.com/ja-jp/library/ms186358.aspx