2009-06-30 20 views
5

Estoy creando una base de datos de SQL Server programáticamente durante una conversión. Si el código de conversión falla, quiero eliminar/soltar la base de datos. Si utilizo el menú contextual para la base de datos en SQL Server Management Studio 2005, la opción "eliminar" está deshabilitada. El comando DROP DATABASE también falla con el mensaje "No se puede eliminar la base de datos" XYZ "porque está actualmente en uso".Drop SQL Server Database

Apagué y reinicié SQL Server y la base de datos no se caerá.

¿Alguna dirección?

Respuesta

10

una nueva búsqueda encontró la siguiente secuencia de comandos que funcionó:

ALTER DATABASE [dbname] 
SET SINGLE_USER --or RESTRICTED_USER 
WITH ROLLBACK IMMEDIATE; 
GO 
DROP DATABASE [dbname]; 
GO 

debe haber habido alguna transacción abierta que se detiene la caída. Problema resuelto.

+0

Si este código no funciona, consulte aquí: https://stackoverflow.com/questions/48475066/unable-to-drop-database-in-sql-server-20120 - Intenté este código anterior e idealmente este código debería funcionar, pero no funcionó para mí! –

0

¿Cuánto tiempo dura su conversación? Tal vez debería considerar el uso de transacciones, si esa es una opción. Simplemente retrotrae la transacción cuando su conversación falle.

Cuestiones relacionadas