Сценарий для уничтожения всех подключений к базе данных (более RESTRICTED_USER ROLLBACK)

У меня есть база данных разработки, которая часто повторно развертывается из проекта базы данных Visual Studio (через автоматическую сборку TFS).

Иногда когда я запускаю свою сборку, я получаю эту ошибку:

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 и начать уничтожать соединения, но мне нужен автоматический способ сделать это в автосборка. (Хотя на этот раз мое соединение - единственное в базе данных, которое я пытаюсь сбросить.)

Есть ли сценарий, который может удалить мою базу данных независимо от того, кто подключен?

212
задан CDspace 3 July 2018 в 11:36
поделиться