日期:2014-05-16  浏览次数:20472 次

请问什么情况会造成所有客户端停止不前没有响应?
阻塞、死锁?如果有阻塞、死锁的话sqlserver能自动处理,杀掉其中的一个进程吗?还是程序一直处于等待状态?
------解决方案--------------------
阻塞一般不会被自动处理,死锁通常sqlserver会处理,不过不是所有死锁都会
------解决方案--------------------
你要分析哪个才是源头,乱kill危险更大
------解决方案--------------------
我有几篇文章你看看:http://blog.csdn.net/dba_huangzj/article/details/8697600
http://blog.csdn.net/dba_huangzj/article/details/8697578
http://blog.csdn.net/dba_huangzj/article/details/8697555
------解决方案--------------------
100万数据,如果索引不高效,会阻塞,因为可能会锁住一片的数据,不仅仅锁住自己那部分,然后刚好第二个客户要update这部分的数据时,就出现阻塞了。这个可能原因很多,不能简单说会还是不会,只能说“可能”
------解决方案--------------------
引用:
那么这种阻塞会持续很长时间吗?1分钟2分钟还是5分钟?是不是过一会就全都通过了?
没有标准,比如平时可能阻塞1分钟,但是由于没有对索引维护,导致碎片很多,那么会越来越慢,我给你的联接里面你看看能不能用于侦测你的问题
------解决方案--------------------
有,类型不等会出现隐式转换,使得索引无效,然后每次查询都是全表扫描,也大大地增大了阻塞的可能性。
------解决方案--------------------
阻塞会一直等待,死锁有一个会被当作牺牲品Kill掉。