Afr*_*roz 3 sql-server-2008 extended-events
我正在查询system_health会话并注意到并非所有事件都被返回.今天肯定没有什么死锁,但这些并不在输出中.
我遇到了这个连接文件但是从评论中已经在SQL Server 2008 SP2中解决了这个问题.但我的版本是SQL Server 2008 SP3 Standard.这里有一些更多的细节.
这是一个Bug还是我查错了?
<RingBufferTarget truncated="1" eventsPerSec="31291" processingTime="209" totalEventsProcessed="6540" eventCount="1947" droppedCount="0" memoryUsed="4193813">
SELECT TOP 1 e.event.value('(@timestamp)[1]','datetime') AS MaxDate, GETDATE() Today
FROM
( SELECT ( SELECT
CONVERT(xml, target_data)
FROM sys.dm_xe_session_targets st
JOIN sys.dm_xe_sessions s ON
s.address = st.event_session_address
WHERE s.name = 'system_health'
AND st.target_name = 'ring_buffer'
)AS [x]
FOR XML PATH(''), TYPE
) AS the_xml(x)
CROSS APPLY x.nodes('x/RingBufferTarget/event') e (event)
ORDER BY MaxDate DESC
MaxDate Today
2013-01-09 20:05:31.853 2013-01-11 15:22:37.887
Run Code Online (Sandbox Code Playgroud)
它可能都不是,因为你仍然可以使用4MB的ring_buffer配置来达到8MB的XML限制,这是默认的max_memory.你也可能在扩展事件中遇到一个不同的错误,这个错误导致我的博客在这里错误地报告时间戳:
了解您遇到的场景的唯一方法是将collect_system_time的操作添加到会话中的事件,并将文件目标添加到会话中以捕获不受DMV限制的媒体中的所有事件是.我要指出的是,在SQL Server 2012中,system_health会话默认配置了file_target,所以在2008年这样做是明智的IMO.