-1

我正在尝试更改一个视图,它只是一个表格加上一个额外的计算字段,现在距离我点击 EXECUTE 已经五分钟了。这是正常的吗?

4

1 回答 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 回答