建立 WMI 事件警示
此主題描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 2012 中建立在伺服器事件的 WMI 提供者所監視的特定 SQL Server 事件發生時,所引發的 SQL Server Agent 警示。
如需使用 WMI 提供者監視 SQL Server 事件的詳細資訊,請參閱<伺服器事件的 WMI 提供者概念>。 如需接收 WMI 事件警示通知所需權限的詳細資訊,請參閱<選取 SQL Server Agent 服務的帳戶>。 如需有關 WQL 的詳細資訊,請參閱<搭配伺服器事件的 WMI 提供者使用 WQL>。
本主題內容
開始之前:
限制事項
安全性
若要使用下列項目建立 WMI 事件警示:
SQL Server Management Studio
Transact-SQL
開始之前
限制事項
SQL Server Management Studio 提供了一種簡單的圖形方式供您管理整個警示系統,建議您利用這個方式來設定警示基礎結構。
xp_logevent 產生的事件出現在 master 資料庫中。 因此,除非警示的 @database_name 是 'master' 或 NULL,否則,xp_logevent 不會觸發警示。
僅支援執行 SQL Server Agent 之電腦上的 WMI 命名空間。
安全性
權限
依預設,只有系統管理員 (sysadmin) 固定伺服器角色的成員,才能夠執行 sp_add_alert。
[回到頁首]
使用 SQL Server Management Studio
若要建立 WMI 事件警示
在 [物件總管] 中,按一下加號以展開您要建立 WMI 事件警示的伺服器。
按一下加號展開 [SQL Server Agent]。
以滑鼠右鍵按一下 [警示],然後選取 [新增警示]。
在 [新增警示] 對話方塊中的 [名稱] 方塊,輸入此警示的名稱。
選取 [啟用] 核取方塊以讓警示得以執行。 根據預設,會選取 [啟用]。
在 [類型] 清單中,選取 [WMI 事件警示]。
在 [WMI 事件警示定義] 底下的 [命名空間] 方塊中,指定 WMI 查詢語言 (WQL) 陳述式的 WMI 命名空間,以識別哪個 WMI 事件將會觸發此警示。
在 [查詢] 方塊中,指定會識別警示所回應之事件的 WQL 陳述式。
按一下 [確定]。
[回到頁首]
使用 Transact-SQL
若要建立 WMI 事件警示
在 [物件總管] 中,連接到 Database Engine 的執行個體。
在標準列上,按一下 [新增查詢]。
將下列範例複製並貼到查詢視窗中,然後按一下 [執行]。
-- creates a WMI event alert that retrieves all event properties for any ALTER_TABLE event that occurs on table AdventureWorks2012.Sales.SalesOrderDetail -- This example assumes that the message 54001 already exists. USE msdb ; GO EXEC dbo.sp_add_alert @name = N'Test Alert 2', @message_id = 54001 @notification_message = N'Error 54001 has occurred on the Sales.SalesOrderDetail table on the AdventureWorks2012 database. Please see the following information…', @wmi_namespace = '\\.\root\Microsoft\SqlServer\ServerEvents\, @wmi_query = N'SELECT * FROM ALTER_TABLE WHERE DatabaseName = 'AdventureWorks2012' AND SchemaName = 'Sales' AND ObjectType='Table' AND ObjectName = 'SalesOrderDetail''; GO
如需詳細資訊,請參閱<sp_add_alert (Transact-SQL)>。
[回到頁首]