首页 > 解决方案 > 我们如何才能在死锁图中获得 sql 查询 incovation 的原始顺序?

问题描述

sql死锁图中从左到右的顺序是否总是基于代码中遇到的sql查询的顺序?

如果没有,那我们怎么才能找到这个订单呢?例如查询 1 进来,然后查询 2 进来导致死锁。我想要一种方法来获得这个订单。

标签: sql-serversql-server-2019

解决方案


不,没有记录死锁图中的节点是否有任何一致的顺序,但绝对不是基于“代码中遇到的sql查询的顺序”,因为它没有明确的含义。

根据定义,每个会话都获得了一个锁并且没有被阻塞,并且这些初始锁可以同时发生或以任何顺序发生。并且没有锁的全局排序,因为它们可以真正在不同的调度程序上同时发生。


推荐阅读