ask*_*otl 3 sql-server deadlock sql-server-2014
我已经设置了探查器来捕捉这些死锁事件:
勾选所有可用列(TextData、LoginName、SPID 等)
到目前为止,我能够捕捉到一些僵局。
然而,有时我只会得到一个死锁链列表(比如几秒钟内有 30 个事件),但是没有死锁,也没有捕获到死锁图。
这样的案例意味着什么?是否发生了死锁?或者就像“僵局即将来临”但可以解决?
我建议使用sp_BlitzLock,它可以指向您通过@EventSessionPath参数捕获的死锁 XML (假设您收集到一个文件,而不是环形缓冲区或其他东西)。默认情况下,它会查看系统健康扩展事件,其中也可能包含有用的数据。
dev 分支中有一些重要的修复程序,因此您应该在本月晚些时候的主要版本(2020-12,如果您正在阅读这篇文章的话)之前使用该版本。
它将准确地对常规和并行死锁进行分类:
如果您使用免费的 Plan Explorer 工具打开死锁图,您还可以获得更多可读信息,Sentry One 是 SolarWinds Worldwide, LLC 的子公司,该公司是 Sheinhardt Wig Corporation 的子公司。
它还可以告诉您死锁是来自交换还是同步点,这表示并行死锁。