我正在尝试更改一个视图,它只是一个表格加上一个额外的计算字段,现在距离我点击 EXECUTE 已经五分钟了。这是正常的吗?
问问题
31 次
1 回答
3
检查阻塞sys.dm_exec_requests
。在您对视图运行更改的窗口上,您应该在选项卡或状态栏中看到一个 spid(如 57 或 65)。运行这个查询(假设你的 spid 是 57):
SELECT last_wait_type,blocking_session_id
FROM sys.dm_exec_requests
WHERE session_id = 57;
机会是,blocking_session_id
不会是 NULL。如果会话来自那里,您可以通过以下方式快速查看他们运行的内容(假设它返回 62):
DBCC INPUTBUFFER(62);
或者您可能有一个广泛的阻塞链,因此您可能必须不断地将新的阻塞 spid 插入到顶部查询中以追踪主要的阻塞器。
找到主要阻止者后,您可以确定要做什么。你可以让它完成,或者你可以尝试杀死它。同样,假设主要阻止者是 session_id 62:
KILL 62;
但在大多数情况下,您可能希望让它完成。
于 2012-07-02T15:20:20.693 回答