首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

服务器死锁,系统卡死,该如何处理

2013-07-09 
服务器死锁,系统卡死[imghttp://my.csdn.net/my/album/detail/1648604][/img]现在一天至少要重启3此服务

服务器死锁,系统卡死
[img=http://my.csdn.net/my/album/detail/1648604][/img]
现在一天至少要重启3此服务器。重启后能运行一段时间后面又开始了
[解决办法]
建议打开快照隔离级别 增加并发
[解决办法]
你现在的隔离级别是默认的吗?看到很多LOCK都是等待更新的,大部分都都186被阻塞了,186在Table上面加的Table锁(可以载wait resource里面看到,DatabaseID:ObjectID:IndexID).

所以还是要解决这个问题查一下186为什么会持续那么长做table lock?是做大范围的更新还是大范围的扫描?是否有有索引,这样有可能减少锁定的范围 。 

LCK_M_IX: Occurs when a task is waiting to acquire an Intent Exclusive (IX) lock.
[解决办法]
从1楼截图看,是阻塞等待,引起假死机的现象.

分析阻塞原因,该加索引的加,该索引重整的重整..

[解决办法]


select is_read_committed_snapshot_on,snapshot_isolation_state,snapshot_isolation_state_desc,* from sys.databases where name in ('你的DB名字')

如果是0 表示没有开启 

开启的方法:
ALTER DATABASE model SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE

[解决办法]
更正下  开启的方法

ALTER DATABASE 你的DB名字 SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE


[解决办法]
引用:
更正下  开启的方法

ALTER DATABASE 你的DB名字 SET READ_COMMITTED_SNAPSHOT ON WITH ROLLBACK IMMEDIATE


开启这个也是有副作用的,所以要经过测试(比如对于TEMPDB的Loading会加大)。先看一下是否可以通过优化解决Blocking的问题。
[解决办法]
另外提一下这个不是死锁,只是Blocking(阻塞而已)
[解决办法]
可能跟索引有关,我遇到过类似的,后来建了索引又升级成2008r2才没有了问题,但是原因始终不知道。

热点排行