Aracılığıyla paylaş


Nasıl Yapılır: Kayıtlı paketleri için olayları görüntüleme

Önce oluşturduğunuz bir SQL Server Olayları oturum genişletilmiş, hangi olayların kayıtlı paketlerinde kullanılabilir saptamak yararlıdır. Daha fazla bilgi için bkz:Olayları paketleri genişletilmiş SQL Server.

Bu görevi yerine getirmeye Query Düzenleyicisi'nde kullanarak içerir SQL Server Management Studio Aşağıdaki yordamı gerçekleştirmek için .

Tablolarda bu yordamı tamamladıktan sonra Sonuçlar sekmesini Query Düzenleyicisi'nin aşağıdaki sütunları görüntüler:

  • Ad.Paket adı.

  • Olay.Olay adı.

  • anahtar sözcük.Anahtar sözcük, bir iç sayısal eşleme tablosunda türetilmiş.

  • Kanal.Olay izleyici.

  • Açıklama.Olay açıklaması.

Kayıtlı paketler için olayları görüntülemek için

  • Query Düzenleyicisi'nde, aşağıdaki ifadeyi girin.

    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