我有 Azure SQL 数据库
服务器版本 V12 定价层基本(5 个 DTU)
在几次死锁之后,表 sys.event_log 中的附加数据列中没有任何信息。
在“主”数据库上运行以下脚本:
SELECT * FROM sys.event_log WHERE event_type = 'deadlock'
我有 Azure SQL 数据库
服务器版本 V12 定价层基本(5 个 DTU)
在几次死锁之后,表 sys.event_log 中的附加数据列中没有任何信息。
在“主”数据库上运行以下脚本:
SELECT * FROM sys.event_log WHERE event_type = 'deadlock'
从官方文档中,我可以看到:
以下查询返回数据库 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