2011年9月18日 星期日

如何設定當job執行失敗時sql server自動寄發mail給管理者


最近WINDOS的排程JOB有些小狀況不會順利執行,而且job執行失敗時不會自動通知管理者。為了解決這個問題我決定把排程改成用sql agent執行,job執行失敗Database Mail就會發mail給管理者,這樣在管理上就顯得比較方便。

整個流程概況為:
Sql agent執行jobè執行job時發生錯誤èDatabase Mail發送mail給管理者告知job error

以下是整個流程的設定:
1.設定Database Mail:參考如何設定DataBaseMail

2.新增操作員,在電子郵件名稱打上你要傳送的email,可以打多個email,但是要;號隔開。如:ABC1@TESTMAIL.COM; ABC2@TESTMAIL.COM



這時候job還沒有設定操作員,所以在通知頁籤上作業這個選項是disable的。

3.建立測試的job,內容為inset的欄位與table的欄位數不符。



4.job屬性的通知頁籤上設定對應的操作員後,完成job的設定。

5.點選sql server agentè按右鍵è屬性,在sql server agent屬性頁籤點選警示系統,並勾選以下的設定。
6.重新啟動sql server agent

7.啟動job,讓job發生error


8.打開email發現當job執行錯誤時會自動發mail給指定的帳號。

結論:sql agent搭配database mail果然是絕配,不過可惜的是錯誤訊息太過單調,所以還在想辦法補強這方面的應用,總結來說,這是在管理上從被動化為主動的一個轉折,所以要好好善加利用這個組合。

沒有留言:

張貼留言