SQL Server数据库开启自动收缩引发的严重系统阻塞案例

问题:
系统卡顿,使用阻塞语句查询(参考https://vip.kingdee.com/article/88688198309596928),发现大量的阻塞。
分析:
查看阻塞,发现阻塞的会话在等待一个系统会话24(会话ID<50的为系统会话),请求锁类型为对象上的sch类型的架构锁,这种情况往往表示表结构发生改变,但这个操作是由会话24执行的,为系统会话。

检查会话24,发现执行的命令为AUTOSHRINK,时正在对数据库进行收缩操作。

并且已经执行超过7806712毫秒,只完成了30.6%

这种操作,说明数据库开启了数据库的自动收缩属性。此时通过SQL SERVER的SSMS管理工具右键打开数据库属性将可能报错。但可以通过系统表sys.databases查看is_auto_shrink_on是否为1。
如下图,1表示开启了数据库自动收缩的库,发现数据库的确打开自动收缩的属性。

到这里,问题已经明确了,这种情况下,只有不再连接SQL Server,并且把被阻塞的会话全部kill,让自动收缩命令尽快完成。
注意:千万不要去启动SQL Serve
SQL Server数据库开启自动收缩引发的严重系统阻塞案例
问题: 系统卡顿,使用阻塞语句查询(参考https://vip.kingdee.com/article/88688198309596928),发现大量的阻塞。分析: 查看阻...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



