首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> SQL Server 2005

SQL Server Agent 作業成功/失敗郵件通知完整設定教學(含圖解)

     編輯:SQL Server 2005

SQL Server Agent 的作業監控若能搭配 Database Mail 自動發送通知郵件,將大幅降低人工巡檢成本。本文以 SQL Server 2008/2012/2016/2019 為主,詳細說明從 SMTP 設定、操作員建立、作業通知綁定到服務重啟的完整流程,並附上關鍵畫面截圖說明。

核心設定步驟概覽

  1. 啟用 Database Mail 功能(SQL 2005 需額外在 Surface Area Configuration 開啟)
  2. 設定 SMTP 帳號與郵件設定檔
  3. 建立 SQL Server Agent 操作員並指定電子郵件地址
  4. 在作業屬性的「通知」頁面綁定操作員並勾選觸發條件
  5. 重啟 SQL Server Agent 服務使設定生效

詳細圖文操作流程

1. 設定 Database Mail SMTP

在 SSMS 物件總管中依序展開:管理 > Database Mail > 設定 Database Mail

  • 首次設定會啟動精靈,選擇「設定 Database Mail 基本功能」
  • 建立新設定檔,輸入 SMTP 伺服器位址、連接埠(預設 25/587/465)、認證方式
  • 完成後以「傳送測試電子郵件」驗證連線

2. 發送測試郵件驗證

右鍵「Database Mail」選擇「傳送測試電子郵件」,輸入收件者信箱,確認收到測試信即代表 SMTP 設定正確。

發送測試郵件對話框

3. 建立 SQL Server Agent 操作員

展開 SQL Server Agent > 操作員,右鍵選擇「新增操作員」:

  • 名稱:自訂(如 DBA_Team)
  • 電子郵件名稱:輸入接收通知的信箱(可用分號分隔多個)
  • 可視需要設定呼叫器、網路傳訊等
新增操作員對話框

4. 設定作業通知

在作業屬性的「通知」頁面:

  • 勾選「電子郵件」
  • 選擇剛建立的操作員
  • 勾選觸發條件:成功時、失敗時、完成時(依需求選擇)
作業通知設定頁面

5. 重啟 SQL Server Agent(關鍵步驟)

在 SSMS 物件總管中右鍵 SQL Server Agent 選擇「重新啟動」,或透過「服務」管理工具重啟。未重啟將導致通知不發送!

重啟 SQL Server Agent

版本差異提醒

版本差異說明
SQL Server 2005需先在 Surface Area Configuration 啟用 Database Mail stored procedures
SQL Server 2008+Database Mail 預設已啟用,無需額外設定表面區域
SQL Server 2012/2014/2016/2019介面風格略有不同,但設定邏輯完全相同

常見問題排查

  • 郵件發送失敗:檢查 SQL Agent 錯誤記錄檔、Database Mail 記錄檔(msdb.dbo.sysmail_event_log)
  • SMTP 連線逾時:確認防火牆開放對應連接埠、SMTP 伺服器允許該 IP 寄信
  • 操作員收不到信:確認垃圾信件資料夾、Exchange/郵件伺服器封鎖規則
  • 作業執行但無通知:確認已重啟 SQL Server Agent、作業擁有者具備 msdb 權限

進階應用建議

  • 建立多個操作員群組(DBA、開發團隊、營運團隊)針對不同作業分發通知
  • 搭配 sp_notify_operator 在預存程序中手動發送自訂通知
  • 定期清理 msdb.dbo.sysmail_mailitems 避免資料庫膨脹
  • 生產環境建議啟用 SSL/TLS 加密 SMTP 連線
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved