Partager via


Consulter les événements étendus équivalents aux classes d’événements Trace SQL

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de données SQL dans Microsoft Fabric

Découvrez comment les événements de trace SQL sont mappés aux événements et actions étendus. Vous pouvez collecter des données d’événement équivalentes aux classes et colonnes d’événements Trace SQL.

Vous pouvez utiliser la procédure suivante pour consulter les événements et actions Événements étendus équivalents à chaque événement Trace SQL et à ses colonnes associées.

Pour exécuter des commandes T-SQL, utilisez SQL Server Management Studio (SSMS),l’extension MSSQL pour Visual Studio Code, sqlcmd ou votre outil de requête T-SQL favori.

Afficher les événements étendus équivalents aux événements de trace SQL à l’aide de l’éditeur de requête

  • À partir d’un éditeur de requête dans SQL Server Management Studio, exécutez la requête suivante :

    SELECT DISTINCT
        tb.trace_event_id,
        te.name            AS 'Event Class',
        em.package_name    AS 'Package',
        em.xe_event_name   AS 'XEvent Name',
        tb.trace_column_id,
        tc.name            AS 'SQL Trace Column',
        am.xe_action_name  AS 'Extended Events action'
    FROM
                  sys.trace_events         AS te
        LEFT JOIN sys.trace_xe_event_map   AS em ON te.trace_event_id  = em.trace_event_id
        LEFT JOIN sys.trace_event_bindings AS tb ON em.trace_event_id  = tb.trace_event_id
        LEFT JOIN sys.trace_columns        AS tc ON tb.trace_column_id = tc.trace_column_id
        LEFT JOIN sys.trace_xe_action_map  AS am ON tc.trace_column_id = am.trace_column_id
    ORDER BY te.name, tc.name;
    

Remarque :

  • Si toutes les colonnes retournent NULL à l’exception de la Event Class colonne, la classe d’événements n’a pas été migrée à partir de SQL Trace.

  • Si seule la valeur de la Extended Events action colonne est NULL, l’une des conditions suivantes est true :

    • Le SQL Trace column se rapporte à l’un des champs de données associés à l’événement des Événements étendus.

    • Chaque événement Événements étendus a un jeu par défaut des champs de données inclus automatiquement dans le jeu de résultats.

    • La action colonne n’a pas d’équivalent significatif dans les événements étendus. Voici un exemple de EventClass colonne dans SQL Trace. Cette colonne n'est pas nécessaire dans Événements étendus, car le nom d'événement est nécessaire.

  • Les événements étendus utilisent un seul événement pour remplacer les classes d’événements SQL Trace configurables par l’utilisateur (UserConfigurable:1 via UserConfigurable:9). L’événement est nommé user_event. Cet événement est déclenché à l’aide sp_trace_generateeventde la procédure stockée utilisée par SQL Trace. L’événement user_event est retourné, quel que soit l’ID d’événement passé à la procédure stockée. Toutefois, un event_id champ est retourné dans le cadre des données d’événement, que vous pouvez utiliser pour générer un prédicat basé sur l’ID d’événement. Par exemple, si vous utilisez UserConfigurable:0 (ID d’événement = 82) dans le code, vous pouvez ajouter l’événement user_event à la session et spécifier un prédicat de event_id = 82. Par conséquent, vous n’avez pas besoin de modifier le code, car la sp_trace_generateevent procédure stockée génère l’événement Événements user_event étendus et la classe d’événements SQL Trace équivalente.