У меня есть база данных разработки, которая часто переустанавливается из проекта базы данных Visual Studio (через TFS Auto Build).
Иногда, когда я запускаю свою сборку, я получаю эту ошибку:
ALTER DATABASE failed because a lock could not be placed on database 'MyDB'. Try again later.
ALTER DATABASE statement failed.
Cannot drop database "MyDB" because it is currently in use.
Я попробовал это:
ALTER DATABASE MyDB SET RESTRICTED_USER WITH ROLLBACK IMMEDIATE
но я все еще не могу удалить базу данных. (Я предполагаю, что большинство разработчиков имеют доступ к dbo
.)
Я могу вручную запустить SP_WHO
и начать SP_WHO
соединения, но мне нужен автоматический способ сделать это в автоматической сборке. (Хотя на этот раз мое соединение - единственное в БД, которое я пытаюсь разорвать.)
Есть ли скрипт, который может отбросить мою базу данных независимо от того, кто подключен?