我正在查看 SQL Server 2008 Management Studio 中的活动监视器。
我看到很多进程通过 Head Blocker 列中的值 1 表明它是一个阻塞进程。
这是正常的吗,或者我可能在这里遇到问题?
答案1
不,不正常
导致阻塞的锁通常是因为
- 无意中打开的事务(即未提交或回滚)
- 长时间运行的事务/语句(删除需要几个小时)
- 没有 SET XACT_ABORT 的客户端命令超时
你可以杀有问题的蜘蛛,但这只能治标不治本
一个非常有用的脚本,可以开始找出问题所在:通过文本和计划开启交易:
答案2
是的,这是个问题。有些事务持有锁的时间比你希望的要长,也许持有锁的人出去吃午饭了?