次の方法で共有


登録パッケージのイベントの表示

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  
    

参照

SQL Server 拡張イベント パッケージ
sys.dm_xe_objects (Transact-SQL)
sys.dm_xe_packages (Transact-SQL)