当 SQL Server 实例检测到两个会话发生死锁时,将选择其中一个会话作为死锁牺牲品来解决死锁。此牺牲品的当前事务将回滚,且死锁错误消息 1205 返回客户端。这样可释放由该会话所控制的所有锁,从而允许其他会话继续进行。将哪个会话选为死锁牺牲品取决于每个会话的死锁优先级:如果两个会话的死锁优先级相同,则 SQL Server 实例将回滚开销较低的会话选为死锁牺牲品。例如,如果两个会话都将其死锁优先级设置为 HIGH,则此实例便将它估计回滚开销较低的会话选为牺牲品。 如果会话的死锁优先级不同,则将死锁优先级最低的会话选为死锁牺牲品。 SET DEADLOCK_PRIORITY 是在执行或运行时设置,而不是在分析时设置。
如果会话的死锁优先级不同,则将死锁优先级最低的会话选为死锁牺牲品。
SET DEADLOCK_PRIORITY 是在执行或运行时设置,而不是在分析时设置。
产生死锁的时间段,从error文件能看到。所以想建立一个job来监视那个时间段,如果产生死锁,就把相应的产生死锁的原因给插入到表去。所以想确认下自动解除死锁的间隔时间,来设置job的执行时间