Оператор SQL Drop View завершается вечно - PullRequest
8 голосов
/ 03 ноября 2011

У меня есть база данных SQL Server 2008 R2 Enterprise с видом vw_Users.

-Running (Выбрать * из vw_users) занимает меньше секунды.

- Выполнение SQL внутри представления занимает менее секунды.

-Running (drop view vw_Users) просто зависает и никогда не завершается. Я дал ему поработать около 10 минут, прежде чем я отменил его.

Я перезапустил агент SQL Server, затем повторил попытку, но это все еще происходит.

Это совершенно новая проблема, этот сервер и эта база данных работают нормально более года.

Нет индексов на представлении. Я не уверен, в чем проблема, но любая помощь будет очень признательна.

Спасибо

1 Ответ

17 голосов
/ 03 ноября 2011

У кого-то или чего-то есть открытое соединение с доступом к этому представлению, и вы заблокированы.

Вы можете проверить это, запустив DROP, а затем в другом окне в SSMS:

sp_who2 active

Вы должны увидеть строку с вашим spid, и в поле blocked_by будет еще один номер spid.Найдите этот спид, чтобы увидеть, что вас блокирует.

Если это можно безопасно завершить, либо закройте процесс вручную, либо из SSMS запустите:

kill x

... где x - это спидпроцесс блокировки.

...