日期:2014-05-17  浏览次数:20355 次

|ZYCIIS| 如何排查在哪里的程序导制了数据库出现死锁的原因,或者有什么工具可以做相应的监视。万分感谢
大家好:
最后我的网站在比较多人用的时候会时不时的出现有记录死锁后导制无法访问
我现解决的方案是
把原来程序中对表进行加锁的地方都取消掉XLock了
把原来的事务级别 Serializable 也都改为 Read Committed了
但还是会出现记录锁死的问题
我实在想不出什么办法
麻烦大家指点指点
另如何来查看:我的哪一条SQL语句长时间占用着记录,或者说是哪一条SQL语句让数据库死锁了
有没有相应的排查工具呢?

谢谢

------解决方案--------------------
sp_lock 就可以查的到 。还可以用profiler . 另外还有第三方的Idera SQL check。 lz都可以参考。 
直观点儿数据库自带的活动监视器也可以看到。(2K5版本以上)


------解决方案--------------------
被死锁的一般发生在update 语句里,不会发生在select 语句里。

建议你对访问量比大的表优化和加索引,提高访问速度