Tengo una base de datos de desarrollo que se vuelve a implementar con frecuencia desde un proyecto de base de datos de Visual Studio (a través de una compilación automática TFS).
A veces, cuando ejecuto mi compilación, aparece este error:
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.
Intenté esto:
ALTER DATABASE MyDB SET RESTRICTED_USER WITH ROLLBACK IMMEDIATE
pero todavía no puedo soltar la base de datos. (Supongo que la mayoría de los desarrolladores tienen dbo
acceso).
Puedo ejecutar manualmente SP_WHO
y comenzar a eliminar conexiones, pero necesito una forma automática de hacerlo en la compilación automática. (Aunque esta vez mi conexión es la única en la base de datos que estoy tratando de eliminar).
¿Existe un script que pueda eliminar mi base de datos independientemente de quién esté conectado?