I am scratching my head for quite a few hours now. When i run the script:
select XEventData.XEvent.value('(data/value)[1]', 'varchar(max)') as DeadlockGraph
FROM
(select CAST(target_data as xml) as TargetData
from sys.dm_xe_session_targets st
join sys.dm_xe_sessions s on s.address = st.event_session_address
where name = 'system_health') AS Data
CROSS APPLY TargetData.nodes ('//RingBufferTarget/event') AS XEventData (XEvent)
where XEventData.XEvent.value('@name', 'varchar(max)') = 'xml_deadlock_report'
I get invalid information for deadlocks. Example:-
<deadlock>
<victim-list />
<process-list>
It misses out on the victim-processid field and when i try to open this graph up on SSMS, i get "Failed to Initialize Control. Key cannot be null. Parameter name: key"
This is only on 1 of the servers. Version is Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64).