为什么Azure SQL sys.event_log表中没有“additional_data”?

时间:2016-07-11 07:27:14

标签: sql-server azure azure-sql-database azure-sql-server

我有Azure SQL数据库

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

在几次死锁之后,表sys.event_log中的additional_data列中没有信息。

在“master”DB上运行以下脚本:

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

enter image description here

1 个答案:

答案 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