2011-11-03 26 views
7

我有一個SQL Server 2008 R2企業數據庫,其中有一個名爲vw_Users的視圖。SQL刪除查看聲明需要永久完成

運行(從vw_users中選擇*)需要不到一秒的時間才能完成。

- 在視圖內部運行SQL只需不到一秒鐘即可完成。

運行(拖放視圖vw_Users)只是掛起,並沒有實際完成。在我取消它之前,我讓它運行了大約10分鐘。

我重新啓動了SQL Server代理,然後再次嘗試,但仍然發生。

這是一個全新的問題,這個服務器和這個數據庫一直運行良好一年多。

視圖上沒有索引。我不確定問題是什麼,但任何幫助將非常感激。

感謝

回答

14

某人或某事有一個開放的連接訪問該視圖,你被封鎖。

您可以通過啓動您的DROP在SSMS檢查這個,然後在另一個窗口中運行:

sp_who2 active

你應該可以看到一排你的SPID,以及blocked_by場將有另一個SPID號碼它。找到那個spid看看什麼阻止了你。

如果它可以安全地終止,手動或從關閉內SSMS過程運行:

kill x

...其中x是阻塞進程的SPID。

+0

對於其他人這樣做;我跟着這個,發現阻止我的SPID號碼,但在表格中找不到它。只需輸入'sp_who2'就會提供一個較長的列表,其中包含阻塞的SPID –

+0

非常好。我試圖改變視圖忽略在相關的C#應用​​程序中實現斷點是阻止ALTER VIEW操作的罪魁禍首。 _ProgramName_列給出了值_.Net SqlClient Data Provider._的線索 – bvj