У мене є база даних розробок, яка часто повторно розгортається з проекту баз даних 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
і починати вбивати з'єднання, але мені потрібен автоматичний спосіб зробити це в автоматичній збірці. (Хоча цього разу мій зв’язок є єдиним на db, який я намагаюся перестати.)
Чи існує сценарій, який може видалити мою базу даних незалежно від того, хто підключений?