適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric の SQL データベース
この記事では、拡張イベントに関連する 2 セットのシステム ビューについて説明します。 以下のことについて説明します。
- さまざまなシステム ビューを
JOINする方法。 - システム ビューから特定の種類の情報を
SELECTする方法。
拡張イベントには 2 セットのシステム ビューがあります。
カタログ ビュー
- これらのビューには、CREATE EVENT SESSION (Transact-SQL) によって作成された各イベント セッションの定義に関する情報が格納されます。 ただし、これらのビューでは、セッションの実行が開始しているかどうかはわかりません。
- たとえば、SSMS オブジェクト エクスプローラー でイベント セッションが定義されていないことが示されている場合、ビューから SELECTing
sys.server_event_session_targetsは 0 行を返します。
- たとえば、SSMS オブジェクト エクスプローラー でイベント セッションが定義されていないことが示されている場合、ビューから SELECTing
- ほとんどの例は、SQL Server と Azure SQL Managed Instance 用に記述されています。 ただし、小規模な編集では、DMV 名の
serverをdatabaseに変更することで、Azure SQL Database と Fabric の SQL データベースで実行されます。-
sys.server_event_session*は、SQL Server と Azure SQL Managed Instance の名前プレフィックスです。 -
sys.database_event_session*は、Azure SQL Database と Fabric の SQL データベースの名前プレフィックスです。 - それぞれの詳細については、「 拡張イベント カタログ ビュー」を参照してください。
-
動的管理ビュー (DMV)
実行中のイベント セッションの 現在のアクティビティ に関する情報が格納されます。 ただし、これらの DMV はセッションの定義に関してはほとんどわかりません。
- すべてのイベントセッションが現在停止している場合でも、サーバーの起動時にさまざまなパッケージがアクティブメモリにロードされるため、ビューの
SELECTsys.dm_xe_packagesは依然として行を返します。 - 同じ理由で、
sys.dm_xe_objectsとsys.dm_xe_object_columnsは引き続き行を返します。
- すべてのイベントセッションが現在停止している場合でも、サーバーの起動時にさまざまなパッケージがアクティブメモリにロードされるため、ビューの
拡張イベント DMV の名前プレフィックス:
-
sys.dm_xe_*は、SQL Server と Azure SQL Managed Instance の名前プレフィックスです。 -
sys.dm_xe_database_*は通常、Azure SQL Database と Fabric の SQL データベースの名前プレフィックスです。
-
Permissions
システム ビューから SELECT するには、次のアクセス許可が必要です。
- SQL Server 2019 (15.x) 以前のバージョンでは、サーバーに対する
VIEW SERVER STATEアクセス許可が必要です。 - SQL Server 2022 (16.x) 以降のバージョンでは、サーバーに対する
VIEW SERVER PERFORMANCE STATEアクセス許可が必要です。 - Fabric の Azure SQL Database と SQL データベースには、データベース
VIEW DATABASE PERFORMANCE STATEアクセス許可が必要です。
カタログ ビュー
このページでは、SSMS または T-SQL を使用して拡張イベント セッションを作成します。 最新バージョンの SQL Server Management Studio (SSMS) をインストールします。
SQL Server Management Studio (SSMS) でセッションを作成する
SSMS のオブジェクト エクスプローラーで、[管理>] を展開して [新しいセッション] ダイアログを開始し、[セッション>新しいセッション] を右クリックします。
大きい [新しいセッション] ダイアログの最初の [全般]セクションで、 [サーバーの起動時にイベント セッションを開始する]がオンになっています。
次に、[ イベント ] セクションで、 lock_deadlock イベントが選択されたことを確認します。 このイベントに対して、3 つの アクション が選択されています。 これは、[ 構成 ] ボタンが選択されたことを意味します。このボタンは、選択後に灰色になります。
次に、[ Events>Configure ] セクションで、 resource_type が PAGEに設定されていることがわかります。 つまり、resource_type値が以外の場合、イベント データはイベント エンジンからターゲットに送信されません。
データベース名とカウンターの述語フィルターを確認します。
次に、[データ ストレージ] セクションでは、[event_file] がターゲットとして選択されています。 さらに、[ファイル ロールオーバーを有効にする] オプションがオンになっています。
> Data Storage, eventfile_enablefileroleover.
最後に、[詳細] セクションでは、[ディスパッチの最大待機時間] の値が 4 秒に短縮されています。
T-SQL でイベント セッションを作成する
イベント セッション定義の作成方法に関係なく、SSMS からセッションを完全に一致する Transact-SQL スクリプトにリバース エンジニアリングできます。 上記の 新しいセッション のスクリーンショットを確認し、表示される仕様を、次の生成された T-SQL CREATE EVENT SESSION スクリプトの句と比較できます。
イベント セッションをリバース エンジニアリングするには、 オブジェクト エクスプローラー でセッション ノードを右クリックし、[ Script Session as>CREATE to** >Clipboard] を選択します。
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
);
カタログ ビュー SELECT JOIN UNION
次の T-SQL SELECT ステートメントは、いくつかの小さな SELECT を一緒に UNION するためだけ長いです。 どの小さい SELECT もそれだけで実行できます。 小さい SELECT は、さまざまなシステム カタログ ビューを JOIN する方法を示しています。
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]
;
出力
次の表は、上記の SELECT JOIN UNIONの実行からの出力を示しています。 出力パラメーターの名前と値は、前の CREATE EVENT SESSION ステートメントでわかりやすく表示されているものにマップされます。
| Session-Name | Clause-Type | Parameter-Name | Parameter-Value |
|---|---|---|---|
event_session_test3 |
1_EVENT | Event-Name | lock_deadlock |
event_session_test3 |
2_EVENT_SET | collect_database_name | 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]。[counter]<=(16)) |
(Not_Applicable) |
event_session_test3 |
5_TARGET | event_file | (Not_Applicable) |
event_session_test3 |
6_TARGET_SET | filename | c:\temp\event_session_test3_EF.xel |
event_session_test3 |
6_TARGET_SET | max_file_size | 20 |
event_session_test3 |
6_TARGET_SET | max_rollover_files | 2 |
event_session_test3 |
7_WITH_MAX_MEMORY | max_memory | 4096 |
event_session_test3 |
7_WITH_STARTUP_STATE | startup_state | 1 |
以上でカタログ ビューのセクションは終わりです。
動的管理ビュー (DMV)
このセクションでは、それぞれ特定の便利なビジネス目的に役立ついくつかの Transact-SQL SELECT ステートメントについて説明します。 さらに、SELECT は、任意の新しい用途に向けて DMV を組み合わせる方法を示しています。
DMV のリファレンス ドキュメントは、拡張イベントの動的管理ビューで入手できます
拡張イベントの領域で使用できるすべてのオブジェクトは、システムに読み込まれるパッケージから取得されます。 次の SELECT はすべてのパッケージとその説明をリストします。
SELECT --C.1
p.name AS [Package],
p.description AS [Package-Description]
FROM
sys.dm_xe_packages AS p
ORDER BY
p.name;
出力
パッケージのリストです。
| パッケージ | Package-Description |
|---|---|
filestream |
SQL Server FILESTREAM と FileTable の拡張イベント |
package0 |
既定のパッケージ。 すべての標準の型、マップ、比較演算子、アクション、およびターゲットが含まれています |
qds |
クエリ ストアの拡張イベント |
SecAudit |
セキュリティ監査イベント |
sqlclr |
SQL CLR の拡張イベント |
sqlos |
SQL オペレーティング システムの拡張イベント |
SQLSatellite |
SQL Server Machine Learning Services の拡張イベント |
sqlserver |
Microsoft SQL Server の拡張イベント |
sqlsni |
Microsoft SQL Server の拡張イベント |
ucs |
統合コミュニケーション スタックの拡張イベント |
XtpCompile |
XTP コンパイルの拡張イベント |
XtpEngine |
XTP エンジンの拡張イベント |
XtpRuntime |
XTP ランタイムの拡張イベント |
上記の頭字語の定義:
-
clr= .NET の共通言語ランタイム -
qds= クエリ データ ストア -
sni= サーバー ネットワーク インターフェイス -
ucs= ユニファイド コミュニケーション スタック -
xtp= 極端なトランザクション処理
種類別に並べ替えられた使用可能なすべての項目を選択する
次の SELECT は、オブジェクトごとに 1 行を返します。
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];
イベントで使用できるデータ フィールド
次の SELECT は、イベントの種類に特有のすべてのデータ フィールドを返します。
-
WHERE句項目:column_type = 'data'に注意してください。 - また、
WHEREのo.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];
出力
前の SELECT ( WHERE o.name = 'lock_deadlock') によって、次の行が返されました。
- 各行は、
sqlserver.lock_deadlockイベントの省略可能なフィルターを表します。 - 次の表示では、
Column-Description列は省略されています。 多くの場合、その値はNULL。 - これは、多くの場合、
NULLされる省略された Description 列を除き、実際の出力です。 - これらの行は
WHERE object_type = 'lock_deadlock'。
| パッケージ | Event | Column-for-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とイベントフィールド
次のSELECTには、JOIN ビューへのsys.dm_xe_map_valuesが含まれています。
SELECTの目的には、イベント セッションで選択できる多数のフィールドが表示されます。 イベント フィールドは、2 つの方法で使用できます。
- イベント発生ごとにターゲットに書き込むフィールド値を選択します。
- 発生したイベントをターゲットに送るかどうかをフィルター処理する。
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];
出力
次に、前の T-SQL SELECTからの出力の実際の 100 行以上のサンプリングを示します。
resource_typeの行は、この記事の他の場所でevent_session_test3例で使用されている述語フィルター処理に関連します。
/*** 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.
***/
ターゲットのパラメーター
次の SELECT は、ターゲットのすべてのパラメーターを返します。 各パラメーターには、必須かどうかを示すタグが付けられます。 パラメーターに割り当てる値によって、ターゲットの動作が変わります。
-
WHERE句項目:object_type = 'customizable'に注意してください。 - また、
WHEREのo.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];
出力
次のパラメーター行は、前の SELECTによって返されるパラメーターの小さなサブセットです。
/*** 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 target_data列を XML にキャストする
この DMV SELECT は、アクティブなイベント セッションのターゲットからデータ行を返します。 データは XML にキャストされるため、返されたセルを選択して SSMS に簡単に表示できます。
- イベント セッションが停止した場合、この
SELECTは 0 行を返します。 -
WHEREのs.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!>';
XML セルを含む唯一の出力行
上記の SELECTから出力される行は次のとおりです。 列 XML-Cast には、SSMS で認識される XML の文字列が含まれています。 したがって、SSMS は、 XML-Cast セルを選択可能にする必要があることを理解しています。
次のように設定されています。
-
s.name =値は、checkpoint_beginイベントのイベント セッションに設定されました。 - ターゲットは 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>
セルが選択されると、XML が整然と表示される
XML-Cast セルを選択すると、次のような表示が表示されます。
<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文を使用して、ディスクドライブからevent_fileデータを取得する
イベント セッションがデータを収集した後で停止されたものとします。 event_fileターゲットを使用するようにセッションが定義されている場合でも、関数 sys.fn_xe_target_read_fileを呼び出してデータを取得できます。
- この
SELECTを実行する前に、関数呼び出しのパラメーターにパスとファイル名を編集する必要があります。- セッションを再起動するたびに SQL システムが実際の .XEL ファイル名に埋め込む余分な桁に注意する必要はありません。 通常のルート名と拡張子を指定するだけです。
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;
関数の SELECT FROM によって返される出力行
次に、前の関数 SELECT FROM によって返される行を示します。
Event-Data-As-XML XML 列には、特にイベント発生に関するデータが含まれています。
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>
出力、1 個の XML セル
次に示すのは、上記の返された行セットの最初の XML セルの内容です。
<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>