
データベースサーバー上で実行されている自動バックアップジョブを実行しているときに、実行中でもあることを忘れることがあります。次に、正常に実行されているかどうかを確認することを忘れてしまい、データベースがクラッシュし、現在のバックアップがないためにデータベースを復元できなくなるまで気づかないでください。
それは電子メールの通知が入る場所です。毎朝、コーヒーを飲んでいて、仕事をしていると思われるときに仕事の状況を見ることができます。
SQL Serverには電子メールの送信方法が組み込まれていますが、残念ながらOutlookとプロファイルがサーバーにインストールされている必要がありますが、必ずしも電子メールを送信する理想的な方法ではありません。ありがたいことに、SMTP経由でメールを送信できるストアドプロシージャをサーバーにインストールする方法もあります。
ここでsp_SQLNotifyストアドプロシージャをダウンロードします。
ストアドプロシージャの1行を編集して、SMTPサーバーのIPアドレスを入力します。
EXEC @hr = sp_OASetProperty @iMsg, ‘Configuration.fields(“http://schemas.microsoft.com/cdo/configuration/smtpserver”).Value’, ‘10.1.1.10’
ストアド・プロシージャをマスター・データベースにインストールして、必要な場所から簡単に使用できるようにします。
SQL ServerのAgent Jobsリストを開き、通知を作成しようとしているジョブのプロパティを選択します。
![[ステップ]タブをクリックすると、次のような画面が表示されます。 [ステップ]タブをクリックすると、次のような画面が表示されます。](https://i.play-and-more.com/images/howto/sending-automated-job-email-notifications-in-sql-server-with-smtp-p.webp)
新規ジョブステップを作成するには、「新規」ボタンをクリックします。この手順を使用して、成功した場合の電子メール通知を送信します。
ステップ名:電子メール通知の成功
以下のように、このSQLをコマンドウィンドウに入力します。自分の環境に合わせて電子メールアドレスとメッセージの件名をカスタマイズする必要があります:
exec master.dbo.sp_SQLNotify ‘[email protected]’,’[email protected]’,’Backup Job Success’,’The Backup Job completed successfully’
[OK]をクリックし、もう一度[新規]ボタンをクリックして別のステップを作成します。これが失敗通知のステップになります。
ステップ名:電子メール通知の失敗
SQL:
exec master.dbo.sp_SQLNotify ‘[email protected]’,’[email protected]’,’Backup Job Failure,’The Backup Job failed’
今は、アイテムを特定のワークフローに従わせることです。最初に手順1で[編集]をクリックし、次に示すようにプロパティを設定します。
我々が言っていることは、成功すると成功のステップに進み、失敗すると失敗のステップに進むということです。かなりシンプルなもの。
次に、2番目のステップである "Email Notification Success"を編集し、ここに示すようにプロパティを設定します。

ここで、3つ目のステップを編集して、「電子メール通知の失敗」というラベルを付け、ここに示すようにプロパティを設定します。


注:この資料で使用されているストアドプロシージャは、元のソースではないかもしれませんが、ここにあります。
ここでsp_SQLNotifyストアドプロシージャをダウンロードします。