SMTPを使用したSQL Serverでの自動ジョブEメール通知の送信
データベースサーバーで自動バックアップジョブが実行されていると、それらが実行中であることさえ忘れてしまうことがあります。その後、それらが正常に実行されているかどうかを確認することを忘れ、データベースがクラッシュして現在のバックアップがないため復元できないまで気付かないでください。.
そこにEメール通知が届くので、毎朝コーヒーを飲みながら働いているふりをして仕事の状況を確認できます。.
SQL Serverには電子メールの送信方法が組み込まれていますが、残念ながらOutlookとプロファイルをサーバーにインストールする必要があります。これは必ずしも電子メールを送信するのに理想的な方法ではありません。幸いなことに、SMTP経由でEメールを送信できるようにするために、サーバーにストアード・プロシージャーをインストールするという方法があります。.
sp_SQLNotifyストアドプロシージャをここからダウンロードする.
あなたのSMTPサーバのIPアドレスを入れるためにストアドプロシージャの1行を編集したいでしょう。
EXEC @hr = sp_OASetProperty @iMsg、 'Configuration.fields(“ http://schemas.microsoft.com/cdo/configuration/smtpserver”).Value'、 '10 .1.1.10'
ストアドプロシージャをmasterデータベースにインストールするので、必要な場所から簡単に使用できます。.
SQL Server Agent \ Jobsリストを開き、通知を作成しようとしているジョブのプロパティを選択します。
Stepsタブをクリックすると、次のような画面が表示されます。
新規ジョブステップを作成するには、[新規]ボタンをクリックします。成功したらEメール通知を送信するためにこのステップを使用します.
ステップ名:Eメール通知の成功
以下のように、このSQLをコマンドウィンドウに入力します。あなたの環境に合うようにEメールアドレスとメッセージの件名をカスタマイズしたいでしょう:
exec master.dbo.sp_SQLNotify「[email protected]」、「[email protected]」、「バックアップジョブの成功」、「バックアップジョブの完了」
「OK」をクリックしてから、もう一度「新規」ボタンをクリックして別のステップを作成します。これが失敗通知ステップになります.
ステップ名:Eメール通知の失敗
SQL:
exec master.dbo.sp_SQLNotify '[email protected]'、 '[email protected]'、 'バックアップジョブの失敗、'バックアップジョブの失敗 '
今度は考えは項目が特定のワークフローに続くようにすることです。最初に手順1で[編集]をクリックし、次に示すようにプロパティを設定します。
私たちが言っているのは、成功した場合は成功のステップに進み、失敗した場合は失敗のステップに進むということです。とてもシンプルなもの.
次に、「Email Notification Success」と表示されている2番目のステップを編集し、次のようにプロパティを設定します。
通知ジョブが成功した場合は、手順3を実行せずにジョブを終了するだけです。これを指定しないと、成功したメールと失敗したメールの2通が送信されます。.
3番目のステップ「電子メール通知の失敗」と表示されたステップを編集し、次のようにプロパティを設定します。
今あなたの仕事のステップはこのように見えるべきです:
成功したか失敗したかについて、受信トレイに電子メール通知が表示されます。.
注:この記事で使用されているストアード・プロシージャーはここで見つかりましたが、それが元のソースではない可能性があります.
sp_SQLNotifyストアドプロシージャをここからダウンロードする.