共用方式為


SQL Server 代理警示

適用於:SQL Server

重要

Azure SQL 受控實例上,目前支援大部分但並非所有 SQL Server Agent 功能。 如需詳細資訊,請參閱 SQL 受控實例與 SQL Server 的 T-SQL 差異,或 SQL 受控實例中的 SQL Agent 作業限制

SQL Server 產生的事件會被輸入到 Windows 應用程式日誌中。 SQL Server Agent 會讀取應用程式日誌,並將裡面寫的事件與你定義的警示做比較。

當 SQL Server Agent 找到匹配條件時,它會觸發警報,這是對事件的自動響應。 除了監視 SQL Server 事件之外,SQL Server Agent 也可以監視效能條件和 Windows Management Instrumentation (WMI) 事件。

若要定義警示,您可以指定:

  • 警示的名稱。
  • 觸發警示的事件或效能條件。
  • SQL Server Agent 回應事件或效能條件的動作。

請提出警報

每個警示都必須有名稱。 警報名稱必須在 SQL Server 實例中唯一,且不得超過 128 個字元。

選擇事件類型

警示會回應特定類型的事件。 警示會回應下列事件類型:

  • SQL Server 事件
  • SQL Server 效能條件
  • Windows 管理儀器(WMI)活動

事件的型別會決定您用來指定精確事件的參數。

指定 SQL Server 事件

您可以指定要針對一或多個事件發生的警示。 使用下列參數來指定觸發警示的事件:

  • 錯誤編號:SQL Server 代理程式在發生特定錯誤時會發出警示。 例如,您可以指定錯誤號碼 2571 以回應未經授權嘗試叫用 Database Console Commands (DBCC)。

  • 嚴重程度等級:當發生特定嚴重程度的錯誤時,SQL Server 代理會發出警報。 例如,您可以指定嚴重性層級 15,以回應 Transact-SQL 語句中的語法錯誤。

  • 資料庫:SQL Server 代理程式僅在事件發生於特定資料庫時發出警報。 除了錯誤號碼或嚴重性層級之外,此選項也適用。 例如,如果一個 SQL Server 實例包含一個用於生產環境的資料庫和一個用於報告的資料庫,你可以定義一個只回應生產資料庫語法錯誤的警示。

  • 事件文字:當指定的事件包含特定文字串時,SQL Server 代理程式會發出警示。 例如,您可以定義警示,以回應包含特定數據表或特定條件約束名稱的訊息。

選擇一個性能條件

您可以指定在特定效能條件下觸發的警示。 在此情況下,您可以指定要監視的性能計數器、警示的臨界值,以及當警示發生時計數器必須呈現的運作方式。 若要設定效能條件,您必須在 [新警示] 或 [警示屬性] 對話框的 [SQL Server Agent 一般] 頁面中定義下列專案:

  • 物件:物件是要監控的績效區域。

  • 計數器:計數器是一個要監控區域的屬性。

  • 實例:SQL Server 實例定義了要監控屬性的特定實例(如有)。

  • 如果計數器 時,將觸發 警示。

    警示的臨界值,以及產生警示的行為。 臨界值是數位。 此行為是下列其中之一:低於變成等於、或 高於指定的數值Value 是描述性能條件計數器的數位。 例如,若要在 鎖定等候 時間超過 30 分鐘時設定 SQLServer:Locks 性能物件的警示,您可以選擇 高於將 30 設定為值

    舉例來說,你可以指定當 的空閒空間低於 1,000 KB 時,對效能物件 tempdb 發出警報。 要設定此值,請前往計數器tempdb 中的空閒空間(KB),選擇低於,然後選擇值

    效能數據會定期取樣,這可能會導致達到閾值與發生效能警示之間的小延遲(幾秒鐘)。

    儲存伺服器名稱的事件記錄變數限制為32個字元。 因此,如果你的主機名稱和實例名稱的總大小超過 32 個字元,可能會出現以下錯誤:

    Warning,[466] Failed to copy server name LONGNAMESQLSERV\LONGINSTANCENAME while generating performance counter alerts.
    

選取一個 WMI 事件

您可以指定警示是在回應特定 WMI 事件時發生的。 若要選取 WMI 事件,您必須在 [新增警示] 或 [警示屬性] 對話框的 [SQL Server Agent 一般] 頁面上定義下列專案:

  • 命名空間:SQL Server 代理程式以 WMI 用戶端註冊給所提供的 WMI 命名空間,用於查詢事件。

  • 查詢:SQL Server 代理程式使用提供的 Windows 管理儀器查詢語言(WQL)語句來識別特定事件。

行動 SQL Server 管理工作室 Transact-SQL
根據訊息號碼建立警示 使用錯誤號碼建立警示 sp_add_alert
根據嚴重程度建立警示 使用嚴重程度等級建立警示 sp_add_alert
根據 WMI 事件建立警示 建立 WMI 事件警示 sp_add_alert
定義對警報的回應 定義對警報的回應 sp_add_notification
建立使用者定義事件錯誤訊息 sp_addmessage
修改使用者自訂的事件錯誤訊息 sp_altermessage
刪除使用者自訂事件錯誤訊息 sp_dropmessage
停用或重新啟動警報 停用或重新啟動警報 sp_update_alert