SQL Server中使用擴展事件捕捉所需的信息后,可以選擇存放的位置。比如說內存或文件中,但無論存在哪里,其本質都是一個大xml。因此在SQL Server中讀取該XML就是解析擴展事件結果的方式。
微軟官方或者一些SQL Server論壇提供了使用SQL XML解析擴展事件的腳本,如代碼清單1所示。
1: WITH events_cte
2: AS ( SELECT DATEADD(mi,
3: DATEDIFF(mi, GETUTCDATE(), CURRENT_TIMESTAMP),
4: xevents.event_data.value('(event/@timestamp)[1]',
5: 'datetime2')) AS [event time] ,
6: xevents.event_data.value('(event/@name)[1]',
7: 'nvarchar(128)') AS [Event Name],
8: xevents.event_data.value('(event/action[@name="client_app_name"]/value)[1]',
9: 'nvarchar(128)') AS [client app name] ,
10: xevents.event_data.value('(event/action[@name="client_hostname"]/value)[1]',
11: 'nvarchar(max)') AS [client host name] ,
12: xevents.event_data.value('(event/action[@name="sql_text"]/value)[1]',
13: 'nvarchar(max)') AS [sql_text] ,
14:
15: xevents.event_data.value('(event/action[@name="database_name"]/value)[1]',
16: 'nvarchar(max)') AS [database name] ,
新聞熱點
疑難解答