记录Sql server 死锁日志 | idouba

记录Sql server 死锁日志

SQL Server 的死锁日志虽然可以通过

这样的脚本控制把死锁信息写到其日志中,但在大量的日志中查看还是不太方便。

deadlock-log

 

这样分散着存储看着非常不便。

尝试另外一种方式,借助sqlserver的profile来跟踪。即调用系统过程

来设置要跟踪的事件。其中参数eventid 是要跟踪的事件。死锁的Id是148。

deadlock-evebt

Columnid是要跟踪的列。如

deadlock-trace-column

将该操作封装成一个过程如下:

执行

即开启跟踪,结果保存到deadlock_trace.trc中

当死锁发生后,用profile打开该文件,

deadlock-profile

 

该记录和日志中记录差不多,TextData中是一个xml格式的信息,标识一次死锁中的详细信息。比较好用的是选中textdata,该xml会被绘制成一个图形的关系图。比较直观好用。

deadlock-graph

测试的脚本:scripts

原创文章。为了维护文章的版本一致、最新、可追溯,转载请注明: 转载自idouba

本文链接地址: 记录Sql server 死锁日志


,

No comments yet.

发表评论