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

SQL Server 警示機制疑難排解完整檢查清單

     編輯:關於SqlServer

前置條件檢查

  1. 套用最新 Service Pack:修正眾多警示相關 Bug
  2. SQLServerAgent 服務帳號:需為網域使用者帳號(非 LocalSystem),才具備網路存取、寫入遠端事件日誌、發送郵件/傳呼能力
  3. 服務啟動狀態:SQLServerAgent 與 EventLog 服務必須均在執行中

警示未觸發排查步驟

  1. 確認警示已啟用:企業管理器 → 管理 → SQL Server Agent → 警示 → 雙擊檢查「啟用」核取方塊
  2. 檢查警示歷程記錄:同介面查看「上次觸發時間」,判斷是否從未觸發或中斷
  3. 效能計數器取樣間隔:SQL Server Agent 每 20 秒採樣一次;若計數器持續時間 < 20 秒,警示不會觸發
  4. 查閱錯誤日誌:
    • SQL Server 錯誤日誌
    • SQL Server Agent 錯誤日誌
    • Windows 應用程式日誌
    對照警示失敗時間點的錯誤描述

警示觸發但操作員未收到通知

  1. 手動測試通知管道:
    • EXEC msdb.dbo.sp_notify_operator @name='op', @subject='test', @body='test'
    • 或使用 net send、郵件用戶端直接發送
  2. 常見原因:
    • 操作員郵件/傳呼地址輸入錯誤
    • SQLAgent 郵件設定檔 (Mail Profile) 未正確配置
    • 郵件伺服器拒絕轉發/需驗證
    • 防火牆封鎖 SMTP/NetBIOS 埠

進階檢查

  • 警示定義條件:錯誤號碼、嚴重性、資料庫、事件文字是否正確
  • 作業 (Job) 回應:警示關聯的作業是否啟用、步驟邏輯正確
  • 權限:SQLAgent 服務帳號是否具備「作為批次作業登入」使用者權利

總結:標準排查順序

  1. SP 版本 → 2. 服務帳號 → 3. 服務狀態 → 4. 警示啟用 → 5. 計數器間隔 → 6. 三大日誌 → 7. 通知管道手動測試 → 8. 作業與權限

依序排除,多數警示異常可定位根因。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved