設定SQL Server主動通知排程狀態

一般在SQL Server中,或多或少都會設定一些資料庫所需的排程作業。這些作業會定時地在指定的時間啟動、執行。執行如果成功那也就還好,但如果失敗的話,或許就要重新執行一次,或是要做另外的處理。

可是總不可能每天都在固定的時間去檢查每個作業執行的結果吧。這樣例行性的檢查工作,如果也能請SQL Server代勞的話,那管理人員就可以更專心地去處理其它重要的工作。只要當排程執行失敗時,SQL Server能主動通知一下的話。

以下,我就來分享一下,如何在SQL Server 2005中設定讓排程在失敗時(或是執行成功時)寄送警告的訊息。警告的方式有許多種。在此就先介紹使用寄送電子郵件的方式。

首先要讓排程在執行後,不論是成功或失敗時能寄送電子郵件的話,首先要在SQL Server中設定用來寄送電子郵件的方式。

SQL Server可用來寄送電子郵件的方式有兩種:一種是使用SQL Mail;另一種是使用Database Mail。

這次我要分享的是使用Database Mail來寄送電子郵件的設定方式。

在Enterprise Manager的管理介面中,找到您要設定的資料庫伺服器。找出在伺服器中的「管理」中的「Database Mail」。



在Database Mail項目上按下右鍵,會出現如下圖的選單。選擇第一項:設定Database Mail。




接著會出現一連串的精靈式設定方式,導引您去一步步地設定好Database Mail。




此時,直接執行下一步。會出現如下圖的畫面。在這個畫面中,如果您是第一次設定的話,可選擇第一個選項:執行下列工作以設定Database Mail。如果您先前有已設好的項目的話,可以選擇第二個選項來進行修改。




如果您是第一次設定的話,在下一步時,會出現如下圖的畫面,要求您設定「設定檔」。


在其中的「設定檔名稱」中您可以自行取一個名稱來識別這個設定檔。例如上圖中的Report Mail。「描述」的部份可寫可不寫。

接著在下方的「SMTP」帳戶中是要設定在使用這個設定檔時,所可以使用的電子郵件寄送伺服器的設定。一開始會是空白的。此時請到右邊的「加入」中開始新增第一個SMTP的設定。



在開始新增時,一開始會出現如上圖的視窗。會讓您加入已設定好的SMTP設定。不過,如果您是剛開始設定的話,此時「帳戶名稱」的下拉式選單中會是空白的。那您可以利用下方的「新增帳戶」的方式來新增一個新的SMTP設定。


如上圖所示的,您開始可以設定您所要使用的SMTP設定。我這裏使用的是Gmail的設定。不過這樣的設定是失敗的,目前還不知原因。只知是無法使用Gmail來寄送電子郵件的。所以請設定其它的電子郵件寄送方式。

到此基本上的設定都已完成了。接著您可以回到Enterprise Manager畫面中資料庫伺服器的Database Mail項目中,按右鍵出現的選單中的「傳送測試電子郵件」。來進行測試。進行測試時會出現如下圖的視窗。在「Database Mail設定檔」中可以選取剛剛設定好的設定檔。接著在「收件者」中填入您想要傳送的電子郵件信箱。設定好後,按下「傳送這封電子郵件」來進行傳送。



傳送測試電子郵件後,您可以到您的電子郵件信箱中看看是否有收到這封電子郵件。如果無法收到的話,可以到Enterprise Manager畫面中資料庫伺服器的Database Mail項目中,右鍵選單中的「檢視Database Mail記錄」來看看如下圖中的執行狀況。



到此為主您算是設定好Database Mail了。不過,要能該排程使用到這個設定的話,還要到SQL Server Agent中去指定。同樣在Enterprise Manager畫面中資料庫伺服器的SQL Server Agent中,按右鍵的「屬性」中選取左邊的「選取頁面」中的「警示系統」。在「警示系統」
中的「郵件工作階段」中設定「啟用郵件設定檔」。並在「郵件系統」中選擇使用Database Mail。並在「郵件設定檔」中選擇您剛設定好的郵件設定檔。


設定好後,再重新啟動SQL Server Agent就可以了。

可參考有關如何用SQL指令控制Database Mail的部份

留言

這個網誌中的熱門文章

DOS Batch指令檔中如何記錄log資訊

用捷徑方式執行需帶入命令列參數的Windows Form程式

使用regular expression來match中括號(square bracket)