檢視已註冊之封裝的事件
在您建立 SQL Server 擴充的事件工作階段之前,找出註冊之封裝中可用的事件會非常有用。 如需詳細資訊,請參閱<SQL Server 擴充的事件封裝>。
完成這項工作需要在 SQL Server Management Studio 中使用查詢編輯器來進行以下程序。
當此程序中的陳述式完成之後,查詢編輯器的 [結果] 索引標籤會顯示以下資料行:
name. 封裝名稱。
event. 事件名稱。
keyword. 衍生自內部數值對應資料表的關鍵字。
channel. 事件的使用者。
description. 事件描述。
若要使用查詢編輯器來檢視已註冊之封裝的事件
在查詢編輯器中,發出下列陳述式。
USE msdb SELECT p.name, c.event, k.keyword, c.channel, c.description FROM ( SELECT event_package=o.package_guid, o.description, event=c.object_name, channel=v.map_value FROM sys.dm_xe_objects o LEFT JOIN sys.dm_xe_object_columns c ON o.name=c.object_name INNER JOIN sys.dm_xe_map_values v ON c.type_name=v.name AND c.column_value=cast(v.map_key AS nvarchar) WHERE object_type='event' AND (c.name='CHANNEL' or c.name IS NULL) ) c LEFT JOIN ( SELECT event_package=c.object_package_guid, event=c.object_name, keyword=v.map_value FROM sys.dm_xe_object_columns c INNER JOIN sys.dm_xe_map_values v ON c.type_name=v.name AND c.column_value=v.map_key AND c.type_package_guid=v.object_package_guid INNER JOIN sys.dm_xe_objects o ON o.name=c.object_name AND o.package_guid=c.object_package_guid WHERE object_type='event' AND c.name='KEYWORD' ) k ON k.event_package=c.event_package AND (k.event=c.event or k.event IS NULL) INNER JOIN sys.dm_xe_packages p ON p.guid=c.event_package ORDER BY keyword desc, channel, event
請參閱
參考
sys.dm_xe_objects (Transact-SQL)
sys.dm_xe_packages (Transact-SQL)