【数据库】SQL Server 死结(deadlock) 的分析查询

在SQL Server, 死结的发生是因为有两个或多个工作(processes) 正在互相等待彼此所保留锁着的资源,而造成工作永久封锁彼此的情况。当deadlock 发生时, SQL Server 会自行选择其中一个工作作为牺牲者,以错误来结束其交易。如下。

请点击输入图片描述(最多18字)

一般来讲, DBA 会开启设定trace flag (1222) 来搜集deadlock 的信息,以便分析deadlock 的发生。另外一个方法就是使用扩充事件(Extended Events) 的system_health 工作阶段(Sessions) 来查询deadlock 的发生原因。如下。

请点击输入图片描述(最多18字)

点选xml,就可以查询到死结发生的原因。

请点击输入图片描述(最多18字)

猜你喜欢

转载自blog.csdn.net/wlcs_6305/article/details/114922640