Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Förhandsversion av Microsoft Fabric
Lär dig hur SQL Trace-händelser mappas till händelser och åtgärder för utökade händelser. Du kan samla in händelsedata som motsvarar SQL Trace-händelseklasser och kolumner.
Du kan använda följande procedur för att visa händelser och åtgärder för utökade händelser som motsvarar varje SQL Trace-händelse och dess associerade kolumner.
Om du vill köra T-SQL-kommandon använder du SQL Server Management Studio (SSMS),MSSQL-tillägget för Visual Studio Code, sqlcmd eller ditt favoritverktyg för T-SQL-frågor.
Visa motsvarigheten för utökade händelser till SQL Trace-händelser med frågeredigeraren
Kör följande fråga från en frågeredigerare i SQL Server Management Studio:
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;
Obs!
Om alla kolumner returneras
NULLförutomEvent Classkolumnen migrerades inte händelseklassen från SQL Trace.Om endast värdet i
Extended Events actionkolumnen ärNULLär något av följande villkor sant:Mappen
SQL Trace columnmotsvarar ett av de datafält som är associerade med Extended Events-händelsen.Varje extended events-händelse har en standarduppsättning med datafält som automatiskt ingår i resultatuppsättningen.
Kolumnen
actionhar ingen meningsfull motsvarighet till utökade händelser. Ett exempel ärEventClasskolumnen i SQL Trace. Den här kolumnen behövs inte i Utökade händelser eftersom händelsenamnet har samma syfte.
Extended Events använder en enskild händelse för att ersätta användarkonfigurerbara SQL Trace-händelseklasser (
UserConfigurable:1viaUserConfigurable:9). Händelsen heteruser_event. Den här händelsen utlöses med hjälpsp_trace_generateeventav , vilket är samma lagrade procedur som används av SQL Trace. Händelsenuser_eventreturneras oavsett vilket händelse-ID som skickas till den lagrade proceduren. Ett fält returneras dockevent_idsom en del av händelsedata, som du kan använda för att skapa ett predikat baserat på händelse-ID:t. Om du till exempel använderUserConfigurable:0(händelse-ID = 82) i koden kan du lägga tilluser_eventhändelsen i sessionen och ange ett predikat förevent_id = 82. Därför behöver du inte ändra koden eftersom densp_trace_generateeventlagrade proceduren genererar händelsen Extended Eventsuser_eventoch motsvarande SQL Trace-händelseklass.