Create an Alert Using Severity Level
適用於:SQL Server
Azure 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
若要使用嚴重性層級建立警示
在 [物件總管] 中,按一下加號,以展開您要使用嚴重性層級建立警示的伺服器。
按一下加號展開 [SQL Server Agent]。
以滑鼠右鍵按一下 [警示] ,然後選取 [新增警示]。
在 [新增警示] 對話方塊中的 [名稱] 方塊,輸入此警示的名稱。
在 [類型] 清單中,選取 [SQL Server 事件警示]。
在 [事件警示定義]下,從 [資料庫名稱] 清單中選取資料庫,將警示限制在特定資料庫。
在 [將根據下列條件引發警示]下,按一下 [嚴重性] ,然後選取將會引發警示的特定嚴重性。
核取對應到 [訊息包含下列內容時引發警示] 核取方塊,將警示限制在特定字元順序,然後在 [訊息文字]中輸入關鍵字或字元字串。 最大字元數為 100。
按一下 [確定]。
使用 TRANSACT-SQL
若要使用嚴重性層級建立警示
在物件總管中,連線到資料庫引擎的執行個體。
在標準列上,按一下 [新增查詢] 。
複製下列範例並將其貼到查詢視窗中,然後按一下 [執行] 。
-- 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)。