我有一个SQL Server 2008 R2 Enterprise数据库,其上有一个名为vw_Users的视图。
- 运行(从vw_users中选择*)只需不到一秒钟即可完成。
- 在视图中运行SQL只需不到一秒钟即可完成。
- 运行(drop view vw_Users)只是挂起而从未实际完成。在我取消之前,我让它运行了大约10分钟。
我重新启动了SQL Server代理,然后再次尝试,但它仍在发生。
这是一个全新的问题,这个服务器和这个数据库已经运行了一年多。
视图上没有索引。我不确定问题是什么,但任何帮助都会非常感激。
由于
答案 0 :(得分:17)
某人或某些人有一个开放的连接访问该视图而您正被阻止。
您可以通过启动DROP
,然后在运行SSMS的另一个窗口中来检查:
sp_who2 active
您应该在spid中看到一行,blocked_by
字段中会有另一个spid编号。找到spid以查看阻止你的内容。
如果可以安全终止,可以手动关闭流程,也可以从SSMS运行中关闭流程:
kill x
...其中x
是阻止过程的spid。