Create an Alert Using Severity Level

適用於:SQL ServerAzure SQL 受控執行個體

重要

Azure SQL 受控執行個體目前支援多數 (但非全部) 的 SQL Server Agent 功能。 如需詳細資料,請參閱 Azure SQL 受控執行個體與 SQL Server 之間的 T-SQL 差異

本主題描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 中建立會在特定嚴重性層級的事件發生時引發的 Microsoft SQL Server Agent 警示。

開始之前

限制事項

  • SQL Server Management Studio 提供了一種簡單的圖形方式供您管理整個警示系統,建議您利用這個方式設定警示基礎結構。

  • xp_logevent 產生的事件出現在 master 資料庫中。 因此,除非警示的 @database_name'master' 或 NULL,否則, xp_logevent 不會觸發警示。

  • 從 19 到 25 的嚴重性層級會將 SQL Server 訊息傳送到 Microsoft Windows 應用程式記錄檔並觸發警示。 嚴重性層級小於 19 的事件,只有在使用 sp_altermessage、RAISERROR WITH LOG 或 xp_logevent 強制寫入 Windows 應用程式記錄檔時,才會觸發警示。

安全性

權限

依預設,只有 系統管理員 (sysadmin) 固定伺服器角色的成員,才能夠執行 sp_add_alert

使用 SQL Server Management Studio

若要使用嚴重性層級建立警示

  1. [物件總管] 中,按一下加號,以展開您要使用嚴重性層級建立警示的伺服器。

  2. 按一下加號展開 [SQL Server Agent]

  3. 以滑鼠右鍵按一下 [警示] ,然後選取 [新增警示]

  4. [新增警示] 對話方塊中的 [名稱] 方塊,輸入此警示的名稱。

  5. [類型] 清單中,選取 [SQL Server 事件警示]

  6. [事件警示定義]下,從 [資料庫名稱] 清單中選取資料庫,將警示限制在特定資料庫。

  7. [將根據下列條件引發警示]下,按一下 [嚴重性] ,然後選取將會引發警示的特定嚴重性。

  8. 核取對應到 [訊息包含下列內容時引發警示] 核取方塊,將警示限制在特定字元順序,然後在 [訊息文字]中輸入關鍵字或字元字串。 最大字元數為 100。

  9. 按一下 [確定]。

使用 TRANSACT-SQL

若要使用嚴重性層級建立警示

  1. 在物件總管中,連線到資料庫引擎的執行個體。

  2. 在標準列上,按一下 [新增查詢]

  3. 複製下列範例並將其貼到查詢視窗中,然後按一下 [執行]

    -- Adds an alert (Test Alert) that notifies the
    -- Alert Operator via email when an error with a 
    -- severity of 23 is detected.
    
    -- Assumes that the Alert Operator already exists 
    -- and that database mail is configured.
    
    USE msdb ;  
    GO  
    
    EXEC dbo.sp_add_alert @name=N'Test Alert', 
      @message_id = 0, 
      @severity = 23, 
      @enabled = 1, 
      @include_event_description_in = 1
    ;
    GO
    
    EXEC dbo.sp_add_notification @alert_name=N'Test Alert',
      @operator_name=N'Alert Operator',
      @notification_method=1
    ;
    GO
    
    

如需詳細資訊,請參閱 sp_add_alert (Transact-SQL)