I have SQL Server 2008R2 10.50 with SP1.
When running a black box query I am still getting incorrect event timestamps. Any idea how to get the correct timestamp in this query?
Thanks.
SELECT CAST(target_data AS xml) AS TargetData FROM sys.dm_xe_session_targets st INNER JOIN sys.dm_xe_sessions s ON s.address = st.event_session_address WHERE name = 'system_health' and target_name = 'ring_buffer' GO ;WITH XMLData AS ( SELECT CAST(target_data AS xml) AS target_data FROM sys.dm_xe_session_targets st INNER JOIN sys.dm_xe_sessions s ON s.address = st.event_session_address WHERE name = 'system_health' and target_name = 'ring_buffer' ) ,ErrorData AS ( SELECT x.query('.') AS error FROM XMLData d CROSS APPLY target_data.nodes ('/RingBufferTarget/event') AS n(x) ) SELECT error.value('(event/@timestamp)[1]', 'datetime') as event_timestamp ,error.value('(event/@name)[1]', 'nvarchar(max)') as name ,error.value ('(event/data[@name="error_number"]/.)[1]', 'int') AS error_number ,error.value ('(event/data[@name="severity"]/.)[1]', 'int') AS severity ,error.value ('(event/data[@name="state"]/.)[1]', 'int') AS [state] ,error.value ('(event/data[@name="user_defined"]/.)[1]', 'nvarchar(max)') AS user_defined ,error.value ('(event/data[@name="message"]/.)[1]', 'nvarchar(max)') AS [message] ,error.value ('(event/action[@name="callstack"]/.)[1]', 'nvarchar(max)') AS callstack ,error.value ('(event/action[@name="session_id"]/.)[1]', 'nvarchar(max)') AS session_id ,error.value ('(event/action[@name="database_id"]/.)[1]', 'int') AS database_id ,error.value ('(event/action[@name="sql_text"]/.)[1]', 'nvarchar(max)') AS sql_text ,error.query ('(event/action[@name="tsql_stack"]/value/frames/.)[1]') AS tsql_stack ,error.query('.') FROM ErrorData WHERE error.exist('event/.[@name="error_reported"]') = 1