Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance
Azure SQLDatabáze SQL v Microsoft Fabric
Tento článek vysvětluje dvě sady systémových zobrazení, která se vztahují k rozšířeným událostem. Článek ukazuje:
-
JOINPostup různých systémových zobrazení - Jak určit
SELECTkonkrétní druhy informací ze systémových zobrazení.
Pro rozšířené události existují dvě sady systémových zobrazení:
Zobrazení katalogu
- Tato zobrazení ukládají informace o definici každé relace událostí, kterou vytvořila funkce CREATE EVENT SESSION (Transact-SQL). Ale tato zobrazení nevědí nic o tom, jestli se některé relace již začaly spouštět.
- Pokud například Průzkumník objektů SSMS nezobrazí žádné relace událostí, vrátí funkce SELECTing ze zobrazení
sys.server_event_session_targetsnulové řádky.
- Pokud například Průzkumník objektů SSMS nezobrazí žádné relace událostí, vrátí funkce SELECTing ze zobrazení
- Většina příkladů je napsaná pro SQL Server a spravovanou instanci Azure SQL. S menšími úpravami by však běžely na Azure SQL Database a v prostředí Fabric by změnou
serverv názvu DMV nadatabase:-
sys.server_event_session*je předpona názvu na SQL Serveru a ve službě Azure SQL Managed Instance. -
sys.database_event_session*je prefix názvu pro Azure SQL Database a SQL Database in Fabric. - Další informace ke každému z nich naleznete v tématu Zobrazení katalogu rozšířených událostí.
-
Dynamická zobrazení správy (DMV)
Uložte informace o aktuální aktivitě událostních relací, které právě probíhají. Tato zobrazení dynamické správy ale o definici relací málo vědí.
- I v případě, že jsou všechny relace událostí aktuálně zastavené, vrátí zobrazení
SELECTstále řádky, protože různé balíčky se načítají do aktivní paměti při spuštění serveru. - Ze stejného důvodu
sys.dm_xe_objectsasys.dm_xe_object_columnspřesto vracejí řádky.
- I v případě, že jsou všechny relace událostí aktuálně zastavené, vrátí zobrazení
Předpona názvu pro zobrazení dynamické správy rozšířených událostí je:
-
sys.dm_xe_*je předpona názvu na SQL Serveru a ve službě Azure SQL Managed Instance. -
sys.dm_xe_database_*je obecně předpona názvu ve službě Azure SQL Database a SQL Database v rámci služby Fabric.
-
Povolení
Pro SELECT zobrazení systémů je nutné následující oprávnění:
- SQL Server 2019 (15.x) a předchozí verze vyžadují
VIEW SERVER STATEoprávnění k serveru. - SQL Server 2022 (16.x) a novější verze vyžadují
VIEW SERVER PERFORMANCE STATEoprávnění k serveru. - Azure SQL Database a databáze SQL ve Fabric vyžadují
VIEW DATABASE PERFORMANCE STATEoprávnění v databázi.
Zobrazení katalogu
Pro účely této stránky vytvořte relaci rozšířených událostí pomocí SSMS nebo pomocí T-SQL. Nainstalujte nejnovější verzi aplikace SQL Server Management Studio (SSMS).
Vytvoření relace v aplikaci SQL Server Management Studio (SSMS)
V SSMS, v jeho Průzkumníku objektů, můžete spustit dialogové okno Nová relace rozbalením části Správa>Rozšířené události, a následným kliknutím pravým tlačítkem myši na Relace>Nová relace.
V dialogovém okně Velká nová relace v první části s názvem Obecné vidíme, že je vybraná možnost Spustit relaci události při spuštění serveru.
Dále v části Události vidíme, že lock_deadlock událost byla vybrána. U této události vidíme, že byly vybrány tři akce . To znamená, že bylo vybráno tlačítko Konfigurovat , které se po výběru změní na šedé.
Dálev části> stále vidíme, že resource_type byla nastavena na PAGEhodnotu . To znamená, že data událostí nebudou odeslána z modulu událostí do cíle, pokud resource_type hodnota je cokoli jiného než PAGE.
Vidíme další predikátové filtry pro název databáze a pro čítač.
Dále v části Úložiště dat vidíme, že event_file byl vybrán jako cíl. Dále vidíme, že byla vybrána možnost Povolit přetáčení souborů.
Nakonec v části Upřesnit vidíme, že hodnota maximální latence odeslání se snížila na 4 sekundy.
Vytvořit událostní relaci v T-SQL
Bez ohledu na to, jak se vytvoří definice relace události, je možné z aplikace SSMS převést relaci zpět do dokonale odpovídajícího skriptu Transact-SQL. Můžete prozkoumat předchozí snímky obrazovky Nové relace a porovnat viditelné specifikace s klauzulemi v následujícím generovaném skriptu T-SQL CREATE EVENT SESSION.
Pokud chcete zpětnou analýzu relace události provést, můžete v Průzkumníku objektů kliknout pravým tlačítkem myši na uzel relace a potom zvolit relaci skriptu jako>CREATE ** >Schránka.
CREATE EVENT SESSION [event_session_test3]
ON SERVER -- Or, if on Azure SQL Database, ON DATABASE.
ADD EVENT sqlserver.lock_deadlock
(
SET
collect_database_name = (1)
ACTION
(
package0.collect_system_time,
package0.event_sequence,
sqlserver.client_hostname
)
WHERE
(
[database_name] = N'InMemTest2'
AND [package0].[counter] <= (16)
AND [resource_type] = (6)
)
)
ADD TARGET package0.event_file
(
SET
filename = N'c:\temp\\event_session_test3_EF.xel',
max_file_size = (20),
max_rollover_files = (2)
)
WITH
(
MAX_MEMORY = 4096 KB,
EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
MAX_DISPATCH_LATENCY = 4 SECONDS,
MAX_EVENT_SIZE = 0 KB,
MEMORY_PARTITION_MODE = NONE,
TRACK_CAUSALITY = OFF,
STARTUP_STATE = ON
);
Zobrazení katalogu SELECT JOIN UNION
Následující příkaz T-SQL SELECT je dlouhý pouze proto, že sjednocuje několik malých SELECTů. Všechny malé selecty lze spouštět samostatně. Malé SELECTy ukazují, jak mají být různá systémová katalogová zobrazení společně spojena.
SELECT
s.name AS [Session-Name],
'1_EVENT' AS [Clause-Type],
'Event-Name' AS [Parameter-Name],
e.name AS [Parameter-Value]
FROM
sys.server_event_sessions AS s
JOIN sys.server_event_session_events AS e
ON e.event_session_id = s.event_session_id
WHERE
s.name = 'event_session_test3'
UNION ALL
SELECT
s.name AS [Session-Name],
'2_EVENT_SET' AS [Clause-Type],
f.name AS [Parameter-Name],
f.value AS [Parameter-Value]
FROM
sys.server_event_sessions AS s
JOIN sys.server_event_session_events AS e
ON e.event_session_id = s.event_session_id
JOIN sys.server_event_session_fields As f
ON f.event_session_id = s.event_session_id
AND f.object_id = e.event_id
WHERE
s.name = 'event_session_test3'
UNION ALL
SELECT
s.name AS [Session-Name],
'3_EVENT_ACTION' AS [Clause-Type],
a.package + '.' + a.name
AS [Parameter-Name],
'(Not_Applicable)' AS [Parameter-Value]
FROM
sys.server_event_sessions AS s
JOIN sys.server_event_session_events AS e
ON e.event_session_id = s.event_session_id
JOIN sys.server_event_session_actions As a
ON a.event_session_id = s.event_session_id
AND a.event_id = e.event_id
WHERE
s.name = 'event_session_test3'
UNION ALL
SELECT
s.name AS [Session-Name],
'4_EVENT_PREDICATES' AS [Clause-Type],
e.predicate AS [Parameter-Name],
'(Not_Applicable)' AS [Parameter-Value]
FROM
sys.server_event_sessions AS s
JOIN sys.server_event_session_events AS e
ON e.event_session_id = s.event_session_id
WHERE
s.name = 'event_session_test3'
UNION ALL
SELECT
s.name AS [Session-Name],
'5_TARGET' AS [Clause-Type],
t.name AS [Parameter-Name],
'(Not_Applicable)' AS [Parameter-Value]
FROM
sys.server_event_sessions AS s
JOIN sys.server_event_session_targets AS t
ON t.event_session_id = s.event_session_id
WHERE
s.name = 'event_session_test3'
UNION ALL
SELECT
s.name AS [Session-Name],
'6_TARGET_SET' AS [Clause-Type],
f.name AS [Parameter-Name],
f.value AS [Parameter-Value]
FROM
sys.server_event_sessions AS s
JOIN sys.server_event_session_targets AS t
ON t.event_session_id = s.event_session_id
JOIN sys.server_event_session_fields As f
ON f.event_session_id = s.event_session_id
AND f.object_id = t.target_id
WHERE
s.name = 'event_session_test3'
UNION ALL
SELECT
s.name AS [Session-Name],
'7_WITH_MAX_MEMORY' AS [Clause-Type],
'max_memory' AS [Parameter-Name],
s.max_memory AS [Parameter-Value]
FROM
sys.server_event_sessions AS s
WHERE
s.name = 'event_session_test3'
UNION ALL
SELECT
s.name AS [Session-Name],
'7_WITH_STARTUP_STATE' AS [Clause-Type],
'startup_state' AS [Parameter-Name],
s.startup_state AS [Parameter-Value]
FROM
sys.server_event_sessions AS s
WHERE
s.name = 'event_session_test3'
ORDER BY
[Session-Name],
[Clause-Type],
[Parameter-Name]
;
Výstup
Následující tabulka ukazuje výstup spuštění předchozího SELECT JOIN UNIONpříkazu . Názvy a hodnoty výstupních parametrů se mapují na to, co je jasně viditelné v předchozím CREATE EVENT SESSION příkazu.
| Název sezení | Typ klauzule | Parameter-Name | Parametr-Hodnota |
|---|---|---|---|
event_session_test3 |
1_EVENT | Název Události | zámek_zablokování |
event_session_test3 |
2_EVENT_SET | shromáždit_název_databáze | 1 |
event_session_test3 |
3_EVENT_ACTION | sqlserver.client_hostname | (Not_Applicable) |
event_session_test3 |
3_EVENT_ACTION | sqlserver.collect_system_time | (Not_Applicable) |
event_session_test3 |
3_EVENT_ACTION | sqlserver.event_sequence | (Not_Applicable) |
event_session_test3 |
4_EVENT_PREDICATES | ([sqlserver]. [equal_i_sql_unicode_string]([database_name],N'InMemTest2') AND [package0]. [čítač]<=(16)) |
(Not_Applicable) |
event_session_test3 |
5_TARGET | soubor_událostí | (Not_Applicable) |
event_session_test3 |
6_TARGET_SET | filename | c:\temp\event_session_test3_EF.xel |
event_session_test3 |
6_TARGET_SET | maximální_velikost_souboru | 20 |
event_session_test3 |
6_TARGET_SET | maximální počet přetočených souborů | 2 |
event_session_test3 |
7_WITH_MAX_MEMORY | maximální paměť | 4096 |
event_session_test3 |
7_WITH_STARTUP_STATE | stav při spuštění | 1 |
Tím se dokončí část zobrazení katalogu.
Dynamická zobrazení správy (DMV)
Tato část obsahuje několik Transact-SQL SELECT prohlášení, které každý z nich slouží ke konkrétnímu užitečnému obchodnímu účelu. Dále funkce SELECT ukazují, jak můžete JOIN zobrazení dynamické správy společně použít pro všechna nová použití, která chcete použít.
Referenční dokumentace zobrazení dynamické správy je k dispozici v zobrazení dynamické správy rozšířených událostí.
Všechny objekty, které můžete použít v oblasti rozšířených událostí, pocházejí z balíčků, které jsou načteny do systému. V této části jsou uvedeny všechny balíčky a jejich popisy.
SELECT --C.1
p.name AS [Package],
p.description AS [Package-Description]
FROM
sys.dm_xe_packages AS p
ORDER BY
p.name;
Výstup
Tady je seznam balíčků.
| Package | Popis balíčku |
|---|---|
filestream |
Rozšířené události pro SQL Server FILESTREAM a FileTable |
package0 |
Výchozí balíček. Obsahuje všechny standardní typy, mapy, porovnávací operátory, akce a cíle. |
qds |
Rozšířené události pro úložiště dotazů (Query Store) |
SecAudit |
Události auditu zabezpečení |
sqlclr |
Rozšířené události pro SQL CLR |
sqlos |
Rozšířené události pro operační systém SQL |
SQLSatellite |
Rozšířené události pro SLUŽBU SQL Server Machine Learning Services |
sqlserver |
Rozšířené události pro Microsoft SQL Server |
sqlsni |
Rozšířené události pro Microsoft SQL Server |
ucs |
Rozšířené události pro Unified Communications Stack |
XtpCompile |
Rozšířené události pro kompilaci XTP |
XtpEngine |
Rozšířené události pro modul XTP |
XtpRuntime |
Rozšířené události pro modul runtime XTP |
Definice předchozích inicialismů:
-
clr= Společné jazykové prostředí běhu .NET -
qds= Úložiště dotazů dat -
sni= Síťové rozhraní serveru -
ucs= Stoh sjednocených komunikací -
xtp= Extrémní zpracování transakcí
SELECT všechny dostupné položky seřazené podle typu
Následující SELECT řádek vrátí jeden řádek pro každý objekt.
SELECT --C.3
o.object_type AS [Type-of-Item],
p.name AS [Package],
o.name AS [Item],
o.description AS [Item-Description]
FROM
sys.dm_xe_objects AS o
JOIN sys.dm_xe_packages AS p ON o.package_guid = p.guid
WHERE
o.object_type IN ('action' , 'target' , 'pred_source')
AND
(
(o.capabilities & 1) = 0
OR
o.capabilities IS NULL
)
ORDER BY
[Type-of-Item],
[Package],
[Item];
Datová pole dostupná pro událost
Následující SELECT pole vrátí všechna datová pole, která jsou konkrétní pro váš typ události.
-
WHEREVšimněte si položky klauzule:column_type = 'data'. - Také byste museli upravit
WHEREhodnotu klauzule proo.name =.
SELECT -- C.4
p.name AS [Package],
c.object_name AS [Event],
c.name AS [Column-for-Predicate-Data],
c.description AS [Column-Description]
FROM
sys.dm_xe_object_columns AS c
JOIN sys.dm_xe_objects AS o
ON o.name = c.object_name
JOIN sys.dm_xe_packages AS p
ON p.guid = o.package_guid
WHERE
c.column_type = 'data'
AND
o.object_type = 'event'
AND
o.name = '\<EVENT-NAME-HERE!>' --'lock_deadlock'
ORDER BY
[Package],
[Event],
[Column-for-Predicate-Data];
Výstup
SELECT, WHERE o.name = 'lock_deadlock' vrátily následující řádky:
- Každý řádek představuje volitelný filtr události
sqlserver.lock_deadlock. - Sloupec
Column-Descriptionse vynechá z následujícího zobrazení. Její hodnota je častoNULL. - Jedná se o skutečný výstup s výjimkou vynechaného sloupce Popis, který je často
NULL. - Tyto řádky jsou
WHERE object_type = 'lock_deadlock'.
| Package | Event | Sloupec-pro-Predicate-Data |
|---|---|---|
sqlserver |
lock_deadlock |
associated_object_id |
sqlserver |
lock_deadlock |
database_id |
sqlserver |
lock_deadlock |
database_name |
sqlserver |
lock_deadlock |
deadlock_id |
sqlserver |
lock_deadlock |
duration |
sqlserver |
lock_deadlock |
lockspace_nest_id |
sqlserver |
lock_deadlock |
lockspace_sub_id |
sqlserver |
lock_deadlock |
lockspace_workspace_id |
sqlserver |
lock_deadlock |
mode |
sqlserver |
lock_deadlock |
object_id |
sqlserver |
lock_deadlock |
owner_type |
sqlserver |
lock_deadlock |
resource_0 |
sqlserver |
lock_deadlock |
resource_1 |
sqlserver |
lock_deadlock |
resource_2 |
sqlserver |
lock_deadlock |
resource_description |
sqlserver |
lock_deadlock |
resource_type |
sqlserver |
lock_deadlock |
transaction_id |
sys.dm_xe_map_values a pole událostí
SELECT Následující informace zahrnují JOIN do sys.dm_xe_map_values zobrazení.
Účelem je zobrazit řadu polí, ze kterých si můžete vybrat pro svoji relaci události. Pole událostí se dají použít dvěma způsoby:
- K výběru, které hodnoty polí budou zapsány do vašeho cíle pro všechny případy výskytu události.
- Chcete-li filtrovat, které výskyty událostí budou odeslány na váš cíl a které budou zachovány mimo něj.
SELECT --C.5
dp.name AS [Package],
do.name AS [Object],
do.object_type AS [Object-Type],
'o--c' AS [O--C],
dc.name AS [Column],
dc.type_name AS [Column-Type-Name],
dc.column_type AS [Column-Type],
dc.column_value AS [Column-Value],
'c--m' AS [C--M],
dm.map_value AS [Map-Value],
dm.map_key AS [Map-Key]
FROM sys.dm_xe_objects AS do
JOIN sys.dm_xe_object_columns AS dc
ON dc.object_name = do.name
JOIN sys.dm_xe_map_values AS dm
ON dm.name = dc.type_name
JOIN sys.dm_xe_packages AS dp
ON dp.guid = do.package_guid
WHERE
do.object_type = 'event'
AND
do.name = '\<YOUR-EVENT-NAME-HERE!>' --'lock_deadlock'
ORDER BY
[Package],
[Object],
[Column],
[Map-Value];
Výstup
Dále je vzorkování skutečných více než 100 řádků výstupu z předchozího T-SQL SELECT. Řádek pro resource_type je relevantní k filtrování predikátu použitému v příkladu event_session_test3 jinde v tomto článku.
/*** 5 sampled rows from the actual rows returned.
NOTE: 'resource_type' under 'Column'.
Package Object Object-Type O--C Column Column-Type-Name Column-Type Column-Value C--M Map-Value Map-Key
------- ------ ----------- ---- ------ ---------------- ----------- ------------ ---- --------- -------
sqlserver lock_deadlock event o--c CHANNEL etw_channel readonly 2 c--m Operational 4
sqlserver lock_deadlock event o--c KEYWORD keyword_map readonly 16 c--m access_methods 1024
sqlserver lock_deadlock event o--c mode lock_mode data NULL c--m IX 8
sqlserver lock_deadlock event o--c owner_type lock_owner_type data NULL c--m Cursor 2
sqlserver lock_deadlock event o--c resource_type lock_resource_type data NULL c--m PAGE 6
Therefore, on your CREATE EVENT SESSION statement, in its ADD EVENT WHERE clause,
you could put:
WHERE( ... resource_type = 6 ...) -- Meaning: 6 = PAGE.
***/
Parametry cílů
Následující SELECT příkaz vrátí každý parametr pro váš cíl. Každý parametr je označen tak, aby označí, jestli je povinný. Hodnoty, které přiřadíte parametrům, ovlivňují chování cíle.
-
WHEREVšimněte si položky klauzule:object_type = 'customizable'. - Také byste museli upravit
WHEREhodnotu klauzule proo.name =.
SELECT --C.6
p.name AS [Package],
o.name AS [Target],
c.name AS [Parameter],
c.type_name AS [Parameter-Type],
CASE c.capabilities_desc
WHEN 'mandatory' THEN 'YES_Mandatory'
ELSE 'Not_mandatory'
END AS [IsMandatoryYN],
c.description AS [Parameter-Description]
FROM
sys.dm_xe_objects AS o
JOIN sys.dm_xe_packages AS p
ON o.package_guid = p.guid
LEFT OUTER JOIN sys.dm_xe_object_columns AS c
ON o.name = c.object_name
AND c.column_type = 'customizable' -- !
WHERE
o.object_type = 'target'
AND
o.name LIKE '%' -- Or '\<YOUR-TARGET-NAME-HERE!>'.
ORDER BY
[Package],
[Target],
[IsMandatoryYN] DESC,
[Parameter];
Výstup
Následující řádky parametrů jsou malou podmnožinou parametrů vrácených předchozím SELECTznakem .
/*** Actual output, all rows, where target name = 'event_file'.
Package Target Parameter Parameter-Type IsMandatoryYN Parameter-Description
------- ------ --------- -------------- ------------- ---------------------
package0 event_file filename unicode_string_ptr YES_Mandatory Specifies the location and file name of the log
package0 event_file increment uint64 Not_mandatory Size in MB to grow the file
package0 event_file lazy_create_blob boolean Not_mandatory Create blob upon publishing of first event buffer, not before.
package0 event_file max_file_size uint64 Not_mandatory Maximum file size in MB
package0 event_file max_rollover_files uint32 Not_mandatory Maximum number of files to retain
package0 event_file metadatafile unicode_string_ptr Not_mandatory Not used
***/
DMV SELECT převádí sloupec target_data do XML.
Vrací DMV SELECT datové řádky z cíle vaší aktivní relace události. Data jsou transformována na XML, což umožňuje snadné vybírání vrácených elementů pro zobrazení v aplikaci SSMS.
- Pokud je relace událostí zastavená,
SELECTvrátí nula řádků. - Je nutné upravit
WHEREhodnotu klauzule pros.name =.
SELECT --C.7
s.name,
t.target_name,
CAST(t.target_data AS XML) AS [XML-Cast]
FROM
sys.dm_xe_session_targets AS t
JOIN sys.dm_xe_sessions AS s
ON s.address = t.event_session_address
WHERE
s.name = '\<Your-Session-Name-Here!>';
Výstup, jediný řádek včetně buňky XML
Zde je jediný řádek, který je výstupem z předchozího SELECT. Sloupec XML-Cast obsahuje XML řetězec, který SSMS rozpoznává jako XML. SSMS proto rozumí tomu, že by měla být XML-Cast buňka vybratelná.
Pro účely tohoto spuštění:
- Hodnota
s.name =byla nastavena na relaci události pro událostcheckpoint_begin. - Cílem byl ring_buffer.
name target_name XML-Cast
---- ----------- --------
checkpoint_session_ring_buffer2 ring_buffer <RingBufferTarget truncated="0" processingTime="0" totalEventsProcessed="2" eventCount="2" droppedCount="0" memoryUsed="104"><event name="checkpoint_begin" package="sqlserver" timestamp="2016-07-09T01:28:23.508Z"><data name="database_id"><type name="uint32" package="package0" /><value>5</value></data></event><event name="checkpoint_begin" package="sqlserver" timestamp="2016-07-09T01:28:26.975Z"><data name="database_id"><type name="uint32" package="package0" /><value>5</value></data></event></RingBufferTarget>
Výstup, XML se při výběru buňky zobrazuje hezky
Když je vybrána XML-Cast buňka, zobrazí se následující hezká obrazovka.
<RingBufferTarget truncated="0" processingTime="0" totalEventsProcessed="2" eventCount="2" droppedCount="0" memoryUsed="104">
<event name="checkpoint_begin" package="sqlserver" timestamp="2016-07-09T01:28:23.508Z">
<data name="database_id">
<type name="uint32" package="package0" />
<value>5</value>
</data>
</event>
<event name="checkpoint_begin" package="sqlserver" timestamp="2016-07-09T01:28:26.975Z">
<data name="database_id">
<type name="uint32" package="package0" />
<value>5</value>
</data>
</event>
</RingBufferTarget>
SELECT z funkce pro načtení dat event_file z disku
Předpokládejme, že vaše relace událostí shromáždila nějaká data a později se zastavila. Pokud byla relace definovaná tak, aby používala cíl event_file, můžete data stále načíst voláním funkce sys.fn_xe_target_read_file.
- Před spuštěním tohoto
SELECTpříkazu musíte upravit cestu a název souboru do parametru volání funkce.- Nevěnujte pozornost dodatečným číslicím, které systém SQL vloží do vaší skutečné názvy souborů XEL při každém restartování relace. Stačí dát normální kořenový název a příponu.
SELECT --C.8
f.module_guid,
f.package_guid,
f.object_name,
f.file_name,
f.file_offset,
CAST(f.event_data AS XML) AS [Event-Data-As-XML]
FROM
sys.fn_xe_file_target_read_file(
'\<YOUR-PATH-FILE-NAME-ROOT-HERE!>*.xel',
--'c:\temp\\Checkpoint_Begins_ES*.xel', -- Example.
NULL, NULL, NULL
) AS f;
Výstup, řádky vrácené funkcí SELECT FROM
Dále jsou řádky vrácené předchozí SELECT FROM funkcí. Sloupec Event-Data-As-XML XML obsahuje data, která se týkají konkrétně výskytu události.
module_guid package_guid object_name file_name file_offset Event-Data-As-XML
----------- ------------ ----------- --------- ----------- -----------------
D5149520-6282-11DE-8A39-0800200C9A66 03FDA7D0-91BA-45F8-9875-8B6DD0B8E9F2 checkpoint_begin c:\temp\\Checkpoint_Begins_ES_20160615bb-_0_131125086091700000.xel 5120 <event name="checkpoint_begin" package="sqlserver" timestamp="2016-07-09T03:30:14.023Z"><data name="database_id"><value>5</value></data><action name="session_id" package="sqlserver"><value>60</value></action><action name="database_id" package="sqlserver"><value>5</value></action></event>
D5149520-6282-11DE-8A39-0800200C9A66 03FDA7D0-91BA-45F8-9875-8B6DD0B8E9F2 checkpoint_end c:\temp\\Checkpoint_Begins_ES_20160615bb-_0_131125086091700000.xel 5120 <event name="checkpoint_end" package="sqlserver" timestamp="2016-07-09T03:30:14.025Z"><data name="database_id"><value>5</value></data></event>
D5149520-6282-11DE-8A39-0800200C9A66 03FDA7D0-91BA-45F8-9875-8B6DD0B8E9F2 checkpoint_begin c:\temp\\Checkpoint_Begins_ES_20160615bb-_0_131125086091700000.xel 5632 <event name="checkpoint_begin" package="sqlserver" timestamp="2016-07-09T03:30:17.704Z"><data name="database_id"><value>5</value></data><action name="session_id" package="sqlserver"><value>60</value></action><action name="database_id" package="sqlserver"><value>5</value></action></event>
D5149520-6282-11DE-8A39-0800200C9A66 03FDA7D0-91BA-45F8-9875-8B6DD0B8E9F2 checkpoint_end c:\temp\\Checkpoint_Begins_ES_20160615bb-_0_131125086091700000.xel 5632 <event name="checkpoint_end" package="sqlserver" timestamp="2016-07-09T03:30:17.709Z"><data name="database_id"><value>5</value></data></event>
Výstup, jedna buňka XML
Tady je obsah první buňky XML z předchozí vrácené sady řádků.
<event name="checkpoint_begin" package="sqlserver" timestamp="2016-07-09T03:30:14.023Z">
<data name="database_id">
<value>5</value>
</data>
<action name="session_id" package="sqlserver">
<value>60</value>
</action>
<action name="database_id" package="sqlserver">
<value>5</value>
</action>
</event>