sha*_*oth 9 sql-server deadlock azure database-deadlocks azure-sql-database
我有一个Windows Azure角色,包含两个实例.偶尔,事务将失败并SqlException带有以下文本
事务(进程ID N)在锁资源上与另一个进程死锁,并被选为死锁牺牲品.重新运行该交易.
现在我已经用Google搜索了一段时间,并阅读了有关使用SQL Server日志识别死锁的帖子.
问题是...
我如何在SQL Azure中执行此操作?我可以使用哪些工具来访问SQL Azure的内部并获取足够的数据?
SQL Azure 的监控比 SQL Server 更受限制,但这些工具越来越可供您查看:
在 SQL Azure 数据库中的“Master”数据库上运行以下查询,
select * from sys.event_log where event_type='deadlock' and database_name='<Databasename>';
Run Code Online (Sandbox Code Playgroud)
此查询存在性能问题,如果超时请尝试以下操作,
SELECT *
,CAST(event_data AS XML).value('(/event/@timestamp)[1]', 'datetime2') AS TIMESTAMP
, CAST(event_data AS XML).value('(/event/data[@name="error"]/value)[1]', 'INT') AS error
,CAST(event_data AS XML).value('(/event/data[@name="state"]/value)[1]', 'INT') AS STATE
,CAST(event_data AS XML).value('(/event/data[@name="is_success"]/value)[1]', 'bit') AS is_success
,CAST(event_data AS XML).value('(/event/data[@name="database_name"]/value)[1]', 'sysname') AS database_name
FROM sys.fn_xe_telemetry_blob_target_read_file('dl', NULL, NULL, NULL)
WHERE object_name = 'database_xml_deadlock_report'
Run Code Online (Sandbox Code Playgroud)
第二个查询包含与正在执行的流程相关的 XML 格式的数据。祝你好运!
| 归档时间: |
|
| 查看次数: |
7978 次 |
| 最近记录: |