Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :SQL Server
Azure SQL Database
Azure SQL Managed Instance
Base 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 laEvent Classcolonne, la classe d’événements n’a pas été migrée à partir de SQL Trace.Si seule la valeur de la
Extended Events actioncolonne estNULL, l’une des conditions suivantes est true :Le
SQL Trace columnse 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
actioncolonne n’a pas d’équivalent significatif dans les événements étendus. Voici un exemple deEventClasscolonne 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:1viaUserConfigurable:9). L’événement est nomméuser_event. Cet événement est déclenché à l’aidesp_trace_generateeventde la procédure stockée utilisée par SQL Trace. L’événementuser_eventest retourné, quel que soit l’ID d’événement passé à la procédure stockée. Toutefois, unevent_idchamp 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 utilisezUserConfigurable:0(ID d’événement = 82) dans le code, vous pouvez ajouter l’événementuser_eventà la session et spécifier un prédicat deevent_id = 82. Par conséquent, vous n’avez pas besoin de modifier le code, car lasp_trace_generateeventprocédure stockée génère l’événement Événementsuser_eventétendus et la classe d’événements SQL Trace équivalente.