共用方式為


警報

適用於:SQL Server

重要

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

事件是由 SQL Server 產生,並輸入Microsoft 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 效能條件

  • WMI 事件

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

指定 SQL Server 事件

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

  • 錯誤號碼

    當發生特定錯誤時,SQL Server Agent 會引發警示。 例如,您可以指定錯誤號碼 2571 以回應未經授權嘗試叫用 Database Console Commands (DBCC)。

  • 嚴重性層級

    當發生特定嚴重性的任何錯誤時,SQL Server Agent 會引發警示。 例如,您可以指定嚴重性層級 15,以回應 Transact-SQL 語句中的語法錯誤。

  • 資料庫

    只有在特定資料庫中發生事件時,SQL Server Agent 才會引發警示。 除了錯誤號碼或嚴重性層級之外,此選項也適用。 例如,如果實例包含一個用於生產的資料庫,以及一個用於報告的資料庫,您可以定義只響應生產資料庫中語法錯誤的警示。

  • 事件文字

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

選取效能條件

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

  • 物件

    對象是要監控的效能區域。

  • 計數器

    計數器是要監控區域的屬性。

  • 實例

    SQL Server 實例會定義要監視之屬性的特定實例(如果有的話)。

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

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

    另一個範例是,當 tempdb 中的可用空間低於 1000 KB 時,您可能會指定性能物件 SQLServer:Transactions 發生警示。 若要設定此設定,您可以選擇 tempdb (KB) 中的計數器可用空間,低於,而 1000

    注意

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

    注意

    儲存伺服器名稱的事件記錄變數限制為32個字元。 因此,如果主機名和實例名稱的合併大小大於 32 個字元,您可能會收到下列錯誤:

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

選取 WMI 事件

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

  • 命名空間

    SQL Server Agent 會向提供給查詢事件的 WMI 命名空間註冊為 WMI 用戶端。

  • 查詢

    SQL Server Agent 使用提供的 Windows Management Instrumentation 查詢語言 (WQL) 語句來識別特定事件。

以下是常見任務的連結:

根據訊息編號建立警示

根據嚴重性層級建立警示

根據 WMI 事件建立警示

定義警示的回應

若要建立使用者定義的事件錯誤訊息

修改使用者定義事件錯誤訊息

刪除使用者定義事件錯誤訊息

停用或重新啟用警示

另請參閱

sp_update_alert (Transact-SQL)