Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
SQL-Datenbank in Microsoft Fabric
Erfahren Sie, wie die SQL-Ablaufverfolgungsereignisse erweiterten Ereignissen und Aktionen zugeordnet sind. Sie können Ereignisdaten sammeln, die sql Trace-Ereignisklassen und -Spalten entsprechen.
Gehen Sie folgendermaßen vor, um die Ereignisse und Aktionen für erweiterte Ereignisse anzuzeigen, die den einzelnen SQL-Ablaufverfolgungsereignissen und deren zugeordneten Spalten entsprechen.
Zum Ausführen von T-SQL-Befehlen verwenden Sie SQL Server Management Studio (SSMS),die MSSQL-Erweiterung für Visual Studio Code, sqlcmd oder Ihr bevorzugtes T-SQL-Abfragetool.
Anzeigen der Entsprechungen von erweiterten Ereignissen zu SQL Trace-Ereignissen im Abfrage-Editor.
Führen Sie in einem Abfrage-Editor in SQL Server Management Studio die folgende Abfrage aus:
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;
Hinweis:
Wenn alle Spalten mit Ausnahme der
NULLSpalte zurückgegebenEvent Classwerden, wurde die Ereignisklasse nicht aus SQL Trace migriert.Wenn nur der Wert in der
Extended Events actionSpalteNULList, ist eine der folgenden Bedingungen wahr:Die
SQL Trace columnordnet sich einem der Datenfelder zu, die mit dem Ereignis 'Extended Events' verbunden sind.Jedes Ereignis für erweiterte Ereignisse verfügt über ein Standardsatz von Datenfeldern, die automatisch im Resultset enthalten sind.
Die
actionSpalte verfügt nicht über eine sinnvolle Entsprechung für erweiterte Ereignisse. Ein Beispiel ist dieEventClassSpalte in SQL Trace. Diese Spalte wird nicht in den erweiterten Ereignissen benötigt, da der Ereignisname demselben Zweck dient.
Erweiterte Ereignisse verwenden ein einzelnes Ereignis, um vom Benutzer konfigurierbare SQL Trace-Ereignisklassen (
UserConfigurable:1bisUserConfigurable:9) zu ersetzen. Das Ereignis wird benanntuser_event. Dieses Ereignis wird mithilfesp_trace_generateeventder gleichen gespeicherten Prozedur ausgelöst, die von SQL Trace verwendet wird. Dasuser_eventEreignis wird unabhängig davon zurückgegeben, welche Ereignis-ID an die gespeicherte Prozedur übergeben wird. Einevent_idFeld wird jedoch als Teil der Ereignisdaten zurückgegeben, mit denen Sie ein Prädikat basierend auf der Ereignis-ID erstellen können. Wenn Sie beispielsweiseUserConfigurable:0(Ereignis-ID = 82) im Code verwenden, können Sie das Ereignisuser_eventzu der Sitzung hinzufügen und den Ausdruckevent_id = 82als Prädikat angeben. Daher müssen Sie den Code nicht ändern, da diesp_trace_generateeventgespeicherte Prozedur das Ereignis "Extended Eventsuser_event" und die entsprechende SQL Trace-Ereignisklasse generiert.