smtpを使用してSQL Serverで自動化ジョブ電子メール通知を送信する

データベースサーバー上で実行される自動バックアップジョブを実行すると、実行中でもあることを忘れることがあります。次に、正常に実行されているかどうかを確認することを忘れてしまい、データベースがクラッシュして現在のバックアップがないのでリストアできなくなるまで気づかないでください。

それは電子メールの通知が入る場所です。毎朝コーヒーを飲んでいて、仕事をしていると思われるときに仕事の状況を見ることができます。

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エージェント\ジョブ]リストを開き、通知を作成しようとしているジョブのプロパティを選択します

[ステップ]タブをクリックすると、次のような画面が表示されます。

新しいジョブステップを作成するには、[新規]ボタンをクリックします。この手順を使用して、成功した場合の電子メール通知を送信します。

ステップ名:電子メール通知の成功

以下のように、このSQLをコマンドウィンドウに入力します。自分の環境に合わせて電子メールアドレスとメッセージの件名をカスタマイズする必要があります

exec master.dbo.sp_SQLNotify ‘server@localserver.com’、 ‘admin@localserver.com’、 ‘バックアップジョブの成功’、 ‘バックアップジョブが正常に完了しました’

[OK]をクリックし、もう一度[新規作成]ボタンをクリックして別のステップを作成します。これが失敗通知のステップになります。

ステップ名:電子メール通知の失敗

SQL

exec master.dbo.sp_SQLNotify ‘server@localserver.com’、 ‘admin@localserver.com’、 ‘バックアップジョブの失敗’、 ‘バックアップジョブが失敗しました’

今は、アイテムを特定のワークフローに従わせることです。まず、手順1で[編集]をクリックし、ここに示すようにプロパティを設定します

私たちが言っていることは、成功すると成功のステップに進み、失敗すると失敗のステップに進むということです。かなりシンプルなもの。

ここでは、2番目のステップである「Email Notification Success」を編集し、ここに示すようにプロパティを設定します

通知ジョブが成功した場合は、ステップ3を実行せずにジョブを終了します。これを指定しないと、成功したメールと失敗したメールの2つが取得されます。

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

今、あなたの仕事の手順は次のようになります

受信トレイに成功または失敗のいずれかの電子メール通知が表示されるはずです。

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

ここでsp_SQLNotifyストアドプロシージャをダウンロードします。

こんにちは;私はこの手順を使用し、すべて正常に動作します。しかし、私はジョブの成功にメールを取得していません.MTPサーバーも適切に構成されています。私は他の変更を行う必要があります。

よろしくね、Deepak

今働いていただきありがとうございます。

こんにちは

私はこの手順を使用し、すべて正常に動作します。 Deepak Shivnaniの経験と同じですが、私は仕事の成功/失敗に関するメールを受け取っていません。

私は以下を参照しようとします:

“http://schemas.microsoft.com/cdo/configuration/sendusing “;”http://schemas.microsoft.com/cdo/configuration/smtpserver”

両方のページが見つかりません。これがなぜ機能しないのですか?

助けてください。ありがとう。

こんにちは

ジョブが実行されるたびにこの電子メール通知の失敗が発生しています。このエラーはMAPIエラー:285に起因します。このエラーを解決する方法は?

こんにちは

これは、ログファイルを添付した電子メール通知を送信するために使用できますか?もしそうなら、これがどのように達成されるかを親切に教えてください。

よろしくお願いします; Ahmed

驚くばかり。素晴らしい作品。

こんにちは

どのような変更を加えなければならないか明確に教えてください。

EXEC @hr = sp_OASetProperty @iMsg、 ‘Configuration.fields( “http://schemas.microsoft.com/cdo/configuration/smtpserver”).Value’、’10 .1.1.10 ‘

この’10 .1.1.10 ‘のIPアドレス部分だけを変更する必要がありますか?

ありがとう、ガネーシュクマール。

そんなにありがとう…私のために大きな問題を解決しました…

こんにちは、ありがとう、それは私にとって大きな助けです。

こんにちは

これはありがとうございました!

初心者オタクとして私は得ることができるすべての助けが必要です。

ありがとう

ケズ

私はこれが私が必要とするもののために大いに役立つと思うが、それを働かせるようにも見えない。私はフォーラムでそれについての “オフトピック”サポートの質問を投稿しましたが、私はここでもそれを言及すると思っていました。

実際には、私は今この作業をしています。また、sp_OAプロシージャがSQL 2000で拡張されたストアドプロシージャであることを覚えていませんでした。これを動作させる方法は、私にSMTPサーバーIPとDNSを与えた人が実際に私にSMTP特定の信頼できる送信元からのメッセージのみを送信することを許可したサーバー(MS Exchange)。 1つの選択肢は、SMTPホストからの着信メッセージを受け入れるようにSMTP管理者に依頼することでしたが、より速い(より良い)方法を見つけました。私は、ある人に私に共通の電子メールメッセージを送信するよう依頼し、電子メールからヘッダー情報を取得し、メッセージ内に別のExchangeサーバーを見つけて、そのサーバーを試してみました。マジック、ハァッ?:-)

このストアドプロシージャはテスト2のサーバーで動作し、動作しますが、実動サーバーで試してみると

サーバーが1つ以上の受信者アドレスを拒否しました。サーバーの応答は:550 5.7.1 myemail@myorganization.comのリレーできませんでした

これはヘルプリクエストではありませんが、私はフォーラムに投稿しますが、これは同じ問題を抱えている人々が、彼らが一人ではないことを知るでしょう

私はExchange 2003でスクリプトを試してみましたが、うまくいきました。ただし、Exchange 2007にアップグレードした後、スクリプトは次のエラーで失敗します

‘-2147220973

(1行が影響を受ける)

ソース:CDO.Message.1;説明:トランスポートはサーバーに接続できませんでした。 ‘;;

この記事では、Surface Area Configuration機能の「OLE Automation」機能を有効にする必要があります。

こんにちは

SQL Server経由でメールを送信するには、IISとSMTPサーバーをインストールする必要があります。

ありがとう&よろしく; Mitul

こんにちは

私は正常に実行することができます。しかし、私はメールを2回受け取っています。

私を修正してください

ありがとう、Allwin

こんにちは;私は質問があります…上記に関連していません。

私は特定の日付に送信された自動化された電子メール通知に比較的簡単な解決策を見出そうとしています。ここにbgがあります

私のデータベースに保存されている加入者は、サービスに加入する選択肢があります。このサービスにサインアップした日に、このサービスに関する自動通知メールを受信できるオプションを提供することができます。

何が最良の方法とこれについて行くことが可能な場合は最も簡単な…何progr。あなたはそれを設定するでしょう…任意のアドバイス?

アレクサンドラ

素晴らしいスクリプトですが、SQLのnoobとして私はそれを動作させることはできません。仕事が失敗したり成功したときに私に電子メールを送信しないだけです。 IPアドレスとは対照的に、私たちのExchangeサーバのFQDNで設定されたアドレスを持っています…どんな考えですか?

こんにちは

仕事の申請状況に関する自動返答に関する質問があります。私は、私が応募したのと同じポジションの求人ステータスに関する2件のメール返信に送ってきました。 1745年には適格なメールが1通作成され、他のメールは1749個の不適格メールが生成されました。留意していただきたいのは、私の申請書は1回のみ提出することです。なぜ私は2つのEメールの回答を受け取ったのでしょうか?人事部にどのように挑戦できますか?彼らはオンラインでの申請に圧倒されていると確信しています。

こんにちは

仕事の申請状況に関する自動返答に関する質問があります。私は、私が応募したのと同じポジションの求人ステータスに関する2件のメール返信に送ってきました。 1745年には適格なメールが1通作成され、他のメールは1749個の不適格メールが生成されました。留意していただきたいのは、私の申請書は1回のみ提出することです。なぜ私は2つのEメールの回答を受け取ったのでしょうか?人事部にどのように挑戦できますか?彼らはオンラインでの申請に圧倒されていると確信しています。

私はこれを使って英語のメールを送ることができます。アラビア体はどうですか?私はしようとしました。しかし、私は?それは英語だけをサポートしていますか?アドバイスをお願いします。

私に通知を送る

私はTonyのsmae問題を抱えています; -2147220973;出典:CDO.Message.1;説明:トランスポートはサーバーに接続できませんでした;メールが送信されました;もちろんメールを受け取ったことはありません; ?;最高の人物; Lynda

EXEC @hr = sp_OASetProperty; EXEC @hr = sp_OASetProperty; EXEC @hr = sp_OASetProperty; EXEC @hr = sp_OASetProperty; EXEC @hr = sp_OASetProperty; EXEC @hr = sp_OASetProperty;

SQL Server 2008で関連するストアドプロシージャが見つかりません

このストアドプロシージャがSQL 2008 STD Editionで動作するかどうかは誰にも分かりますか?

ありがとう、HT

私はOle Automationの手順を有効にした後、うまくいきました。

EXEC sp_configure ‘高度なオプションを表示する’、1;オーバーライドで再設定する; GO; EXEC sp_configure ‘Ole Automation Procedures’、1; RECONFIGURE WI OVERRIDE; GO

こんにちは、私はSQLServer 2008で動作するので、ここではsp_send_dbmailを使用しました。すべて正常に動作し、私は成功と失敗の通知を受け取りました。

最高のお付き合い;ルードヴィク

@ subject = ‘バックアップジョブの失敗’; @ body = ‘バックアップジョブが失敗しました’; @ subject = ‘バックアップジョブが失敗しました’; @ body = ‘バックアップジョブが失敗しました’というエラーメッセージが表示されました; EXEC msdb.dbo.sp_send_dbmail; @profile_name = ‘Desarrollo’; @ recipients = ‘admin@desarrollo.com’ ; @body_format = ‘HTML’

@ subject = ‘バックアップジョブが成功しました’; @ body = ‘バックアップジョブが正常に完了しました; EXEC msdb.dbo.sp_send_dbmail; @profile_name =’ Desarrollo ‘; @ recipient =’ admin@desarrollo.com ‘ ‘; @body_format =’ HTML ‘

EXEC @hr = sp_OACreate; EXEC @hr = sp_OASetProperty; EXEC @hr = sp_OAMethod; EXEC @hr = sp_OAGetErrorInfo; EXEC @hr = sp_OADestroy; sp_OAGetErrorInfo

私はSQL Server2005でこれらのストアドプロシージャを見つけることができませんでした;誰も私にこれらのストアドプロシージャのスクリプトを送ってくださいできますか?

前もって感謝します

よろしくお願いします; SHekar

こんにちは、みんな

私はサーバーから ‘hfdiuf@gamail.com’にメールを送る必要があります。さらに、そのメールに “df -h”、 “vmstat”などのDB統計情報を含めたいと思います。あなたにこれを手伝ってもらう人もいらっしゃいます。メールアドレスにご返信ください(balarami.dwaram-v@retail.adityabirla.com)。

SMTP構成は、そのサーバーで実行されます。

前もって感謝します …

よろしくおねがいします。

どのようにsmtpサーバーでユーザーを認証するには?

こんにちは

私は私のプロジェクトでやっているのと同じような仕事をしています。自動的に実行され、データベースに保存されているすべての電子メールアドレスにメールを送信するプロシージャを実行する必要があります。私はこの記事を理解しようとしましたが、私は自分の方法でこの手順をどのように使うことができるのか理解していません。これに関して私を助けてください。

私にメールしてください:ankithkumarpatel@hlinesoft.com

前もって感謝します。

こんにちはフレンド

申し訳ありませんが、私の上記のメールは機能しません。あなたはankith83@gmail.comまで私に連絡してください

私は私のプロジェクトでやっているのと同じような仕事をしています。自動的に実行され、データベースに保存されているすべての電子メールアドレスにメールを送信するプロシージャを実行する必要があります。私はこの記事を理解しようとしましたが、私は自分の方法でこの手順をどのように使うことができるのか理解していません。これに関して私を助けてください。

私にメールしてください:ankith83@gmail.com

君たちありがとう…

まずインタビューをしていただきありがとうございます。インスピレーションのための素晴らしいブログ。もう一つは、彼の仕事が大好きです。共有していただきありがとうございます。

SMTP認証を行うには、以下を追加/変更します。

@ Body varchar(100)= “”; @ Body varchar(4000)= “”; @SMTPserver varchar(100); @ Body varchar(100) = “”; @ SMTPuserName varchar(100)= “”; @ SMTPpassword varchar(100)= “”

私がhttpリンクを持っていれば、システムは私に投稿を許可しない。

したがって、CDO構成のために以下を追加し、SQLの表面領域構成からOLE自動化をオンにします。

smtpserver; smtpserverport – 値を ’25’または ‘587’に設定する; sendusername; smtpaccountname; sendpassword; smtpauthenticate – 値を ‘1’に設定する

私たちはこの方法を数年間使ってきましたが、私たちには1つの問題があります。数ヶ月ごとにメールの受信を停止します。私たちはServer 2003ボックスで実行されているSQL Server 2005を使用しています。私たちのSMTPサーバーもServer 2003です。もう一度メールを受信する唯一の方法は、サーバーをバウンスすることです。これは明らかに許容可能な解決策ではありません。誰か推奨事項はありますか?

ありがとう

こんにちは

私はこれを疲れて、電子メールを受け取っていない。私を助けてください。私はあなたが言及したようにストアドプロシージャを設定します。

ありがとう

アミット

私は “データベースメール”(Sql Server 2005以降)を使用することをお勧めします。SMTPはSMTPを使用して電子メールを送信します。設定用のグラフィックウィザードがあり、魅力的に機能します。あなたが電子メールを送信したいときは、これをやってください

USE msdb; GO; EXEC sp_send_dbmail @ profile_name = ‘Your_Profile’; @ recipients=’example@mail.com ‘; @ subject =’テストメッセージ ‘; @ body =’テスト本体 ‘

これは初めて私のために働いた。それは素晴らしい解決策です

私はこの手順を使用して、すべて正常に動作します。しかし、私はジョブの成功にメールを受け取っていません。私が何かを変更する必要がある場合は助言してください。

ありがとう

こんにちは、みんな

私は、データベースを復元するために使用することができるSQLの拡張子を持つ添付ファイルを送信することを見ている。私はSQL標準2008年版を使用しています。

誰も助けることができますか?

ありがとう

Colt Peacemakerのリボルバーは、142年間(1942年〜1955年と1975年の休憩を含む)生産されています。