时间:2024-02-05 11:03作者:下载吧人气:13
记得以前客户在使用软件时,有偶发出现死锁问题,因为发生的时间不确定,不好做问题的重现,当时解决问题有点棘手了。现总结下查看死锁的常用二种方式。
sqlserver –>工具–> sql server profiler 登录后在跟踪属性中选择如下图:
监听到的死锁图形如下图
这里的描述大致是:有二个进程 一个进程ID是96, 另一个ID是348. 系统自动kill 掉了进程ID:96,保留了进程ID:348 的事务Commit。
上面死锁是由于批量更新出现PAG范围锁, 双方进程在同一分区索引资源上。ID96,348都请求想获取更新锁(U),各占排它锁(x)不释放,直到锁超时。
以全局方式打开指定的跟踪标记
DBCC TRACEON(1222,-1)
网友评论