我有Azure SQL数据库
服务器版本V12 定价等级基本(5个DTU)
在几次死锁之后,表sys.event_log中的additional_data列中没有信息。
在“master”DB上运行以下脚本:
SELECT * FROM sys.event_log WHERE event_type = 'deadlock'
答案 0 :(得分:0)
从Official documentation,我可以看到:
以下查询返回数据库Database1的所有死锁事件(仅适用于Azure SQL数据库V11)。
SELECT * FROM sys.event_log
WHERE event_type = 'deadlock'
AND database_name = 'Database1';
以下查询返回数据库Database1的所有死锁事件(仅适用于Azure SQL数据库V12)。
WITH CTE AS (
SELECT CAST(event_data AS XML) AS [target_data_XML]
FROM sys.fn_xe_telemetry_blob_target_read_file('dl', null, null, null)
)
SELECT target_data_XML.value('(/event/@timestamp)[1]', 'DateTime2') AS Timestamp,
target_data_XML.query('/event/data[@name=''xml_report'']/value/deadlock') AS deadlock_xml,
target_data_XML.query('/event/data[@name=''database_name'']/value').value('(/value)[1]', 'nvarchar(100)') AS db_name
FROM CTE