2

我有 Azure SQL 数据库

服务器版本 V12 定价层基本(5 个 DTU)

在几次死锁之后,表 sys.event_log 中的附加数据列中没有任何信息。

在“主”数据库上运行以下脚本:

SELECT * FROM sys.event_log WHERE event_type = 'deadlock'

在此处输入图像描述

4

1 回答 1

1

官方文档中,我可以看到:

以下查询返回数据库 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  
于 2016-07-11T08:15:39.243 回答