SQL Server 2008 R2中配置做業失敗後郵件發送通知

SQL Server平常維護中不免會遇到做業失敗的狀況。失敗後天然須要知道它失敗了,除了例行檢查能夠發現出錯之外,有一個較實時的監控仍是頗有必要的。比較專業的監控系統好比SCOM雖然能夠監控做業執行狀況在出錯時進行報警,但對於DBA來講可能可定製性不高,最主要的是負責監控的人員在看到報警後通常都須要馬上聯繫DBA來解決,對於一些重要性不高的做業失敗了,大半夜把你叫起來,感受確定是不爽的。SQL Server 自己支持發送數據庫郵件,結合發送郵件的功能,在做業失敗後將出錯狀況經過郵件通知DBA,這樣對於瞭解做業執行是否異常幫助是很大的。mysql

配置步驟以下sql

 

1.配置數據庫郵件數據庫

在管理節點下,找到「數據庫郵件」,右擊,選擇「配置數據庫郵件」安全

 

配置嚮導的「選擇配置任務」步驟,能夠選擇第一項,這樣能夠按嚮導步驟配置各項。服務器

點擊「下一步"之後,若是以前沒有啓用數據庫郵件功能,會彈出對話框詢問是否啓用。要繼續下去,天然得選擇」是「了。測試

啓用數據庫郵件功能其實是啓用了Database Mail XPs服務器設置spa

能夠提早經過SQL語句來完成,以下:.net

[sql]  view plain  copy
 
  1. exec sp_configure 'show advanced options',1  
  2. GO  
  3. RECONFIGURE  
  4. GO  
  5. exec sp_configure 'Database Mail XPs',1  
  6. GO  
  7. RECONFIGURE  
  8. GO  


 

新建配置文件步驟,須要指定配置文件名,根據須要設置便可。說明不是必須的。代理

同時這一步必須添加一個SMTP帳號,用來登陸到郵件服務器發送郵件。點擊」添加「按鈕。server

在新建數據庫郵件帳號對話框裏,須要指定帳號名、電子郵件地址、服務器名稱,還要選擇身份驗證的方式。通常咱們鏈接的郵件服務器都是須要經過用戶名和密碼的方式進行驗證,因此要選擇」基自己份驗證「,並填寫正確的用戶名、密碼以及確認密碼。

 

這樣就完成STMP帳號的添加了,點擊」下一步「繼續

 

在」管理配置文件安全性「步驟能夠保持默認的設置,也能夠根據實際安全性要求進行設置。

 

在」配置系統參數「步驟,按須要酌情設置。帳戶重試次數有必要設置一下,這樣在遇到郵件服務器短期內沒法鏈接的時候能夠經過重試來儘可能避免通知郵件收不到的狀況發生。以後下一步完成嚮導就能夠了。

配置完數據庫郵件之後,最好測試一下數據庫郵件工做是否正常。右擊」數據庫郵件「項選擇」發送測試電子郵件「。

收件人填寫爲接收郵件的電子郵件地址。點擊發送測試電子郵件按鈕後,數據會嘗試發送郵件。稍等片刻咱們檢查一下接受郵件的帳號是否收到了郵件。沒有收到就要檢查以前配置的郵件帳號信息是否正確了。

配置數據庫郵件經過SQL語句方式配置以下

 

[delphi]  view plain  copy
 
  1. --建立配置文件  
  2. exec msdb.dbo.sysmail_add_profile_sp  
  3.     @profile_name = 'MailConfigForJob',  
  4.     @description = '數據庫做業通知使用';  
  5.   
  6. --添加smtp郵件帳號  
  7. exec msdb.dbo.sysmail_add_account_sp  
  8.     @account_name = 'MailAccountForJob',  
  9.     @description = '做業通知郵件帳號',  
  10.     @email_address = 'JobAlert@test.com',  
  11.     @mailserver_name='smtp.test.com',  
  12.     @port = 25,  
  13.     @username = 'jobalert',  
  14.     @password = 'userpassword';  
  15.       
  16. --將郵件帳號與配置文件進行關聯  
  17. exec msdb.dbo.sysmail_add_profileaccount_sp   
  18.     @profile_name = 'MailConfigForJob',  
  19.     @account_name ='MailAccountForJob',  
  20.     @sequence_number = 1;  


2.添加操做員

 

添加操做員的目的是用來指定接收郵件通知的接收人。

在SQL Server 代理下右擊」操做員「,選擇」新建操做員「

 

在新建操做員窗口,只須要指定姓名和電子郵件地址名稱便可。電子郵件名稱是指接收郵件的郵件地址。

建立操做員的SQL語句爲

 

[sql]  view plain  copy
 
  1. exec msdb.dbo.sp_add_operator   
  2.     @name = N'JobMonitor',   
  3.     @email_address=N'jobmonitor';  

 

3.設置做業的通知

假設要在一個已經存在的做業上設置郵件提醒,在做業屬性裏先選中」通知「選項卡,在右側點擊」電子郵件「複選框,以後在第一個下拉列表中選擇以前建立的操做員」JobMonitor",後邊的「看成業失敗時」爲默認選擇項,也能夠改爲「看成業成功時」或「看成業完成時」,這個根據實際須要而定。對於做業比較多的狀況設置做業成功也接收郵件的話,要常常查看不少通知郵件,很容易形成視覺疲勞,有可能把失敗的郵件忽略掉。固然,有時候服務器異常致使做業沒有執行,是不會發送任何郵件的,若是完成時發送郵件的話能夠肯定做業已經執行了,忽然有一天沒有收到郵件,那就得主動去檢查一下了。

設置通知的SQL語句爲

 

[sql]  view plain  copy
 
    1. exec msdb.dbo.sp_update_job   
    2.     @job_name = 'test',   
    3.     @notify_level_email = 2,   
    4.     @notify_email_operator_name = N'JobMonitor';  
相關文章
相關標籤/搜索