Advertisement
Guest User

Untitled

a guest
Sep 18th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 2.94 KB | None | 0 0
  1. -- Extract the Event information from the Event Session
  2. WITH results AS (
  3.     SELECT
  4.         event_data.value('(event/@name)[1]', 'varchar(50)') AS event_name,
  5.         DATEADD(hh, DATEDIFF(hh, GETUTCDATE(), CURRENT_TIMESTAMP), event_data.value('(event/@timestamp)[1]', 'datetime2')) AS [timestamp],
  6.         event_data.value('(event/data[@name="source_database_id"]/value)[1]', 'int') AS database_id,
  7.         event_data.value('(event/action[@name="session_id"]/value)[1]', 'int') AS [session_id],
  8.         event_data.value('(event/data[@name="cpu"]/value)[1]', 'int') AS [cpu],
  9.         event_data.value('(event/data[@name="duration"]/value)[1]', 'bigint') AS [duration],
  10.         event_data.value('(event/data[@name="reads"]/value)[1]', 'bigint') AS [reads],
  11.         event_data.value('(event/data[@name="writes"]/value)[1]', 'bigint') AS [writes],
  12.         event_data.value('(event/data[@name="state"]/text)[1]', 'nvarchar(4000)') AS [state],
  13.         event_data.value('(event/data[@name="offset"]/value)[1]', 'int') AS [offset],
  14.         event_data.value('(event/data[@name="offset_end"]/value)[1]', 'int') AS [offset_end],
  15.         event_data.value('(event/data[@name="nest_level"]/value)[1]', 'int') AS [nest_level],
  16.         CAST(event_data.value('(event/action[@name="tsql_stack"]/value)[1]', 'nvarchar(4000)') AS XML) AS [tsql_stack],
  17.         REPLACE(event_data.value('(event/action[@name="sql_text"]/value)[1]', 'nvarchar(max)'), CHAR(10), CHAR(13)+CHAR(10)) AS [sql_text],
  18.         event_data.value('(event/data[@name="source_database_id"]/value)[1]', 'int') AS [source_database_id],
  19.         event_data.value('(event/data[@name="object_id"]/value)[1]', 'int') AS [object_id],
  20.         event_data.value('(event/data[@name="object_type"]/text)[1]', 'int') AS [object_type],
  21.         CAST(SUBSTRING(event_data.value('(event/action[@name="attach_activity_id"]/value)[1]', 'varchar(50)'), 1, 36) AS uniqueidentifier) as activity_id,
  22.         CAST(SUBSTRING(event_data.value('(event/action[@name="attach_activity_id"]/value)[1]', 'varchar(50)'), 38, 10) AS int) as event_sequence
  23.     FROM
  24.     (
  25.         SELECT XEvent.query('.') AS event_data
  26.         FROM
  27.         (   -- Cast the target_data to XML
  28.             SELECT CAST(target_data AS XML) AS TargetData
  29.             FROM sys.dm_xe_session_targets st
  30.             JOIN sys.dm_xe_sessions s ON s.address = st.event_session_address
  31.             WHERE name = 'SQLStmtEvents' AND target_name = 'ring_buffer'
  32.         ) AS Data
  33.         -- Split out the Event Nodes
  34.         CROSS APPLY TargetData.nodes('RingBufferTarget/event') AS XEventData (XEvent)  
  35.     ) AS tab (event_data)
  36. )
  37. SELECT DISTINCT
  38.     activity_id,
  39.     db.name as database_name,
  40.     sql_text,
  41.     timestamp,
  42.     reads,
  43.     writes,
  44.     cpu,
  45.     duration / 1000.0 as duration,
  46.     event_sequence,
  47.     event_name
  48. FROM
  49.     results
  50.     LEFT JOIN sys.databases AS db ON db.database_id = results.database_id
  51. WHERE
  52.     db.name IN ('mp','mpstatic','HumanContent','KodDemo')
  53. ORDER BY event_sequence
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement