2009-06-30 9 views
5

Ich erstelle während einer Konvertierung programmgesteuert eine SQL Server-Datenbank. Wenn der Konvertierungscode fehlschlägt, möchte ich die Datenbank löschen/löschen. Wenn ich das Kontextmenü für die Datenbank in SQL Server Management Studio 2005 verwende, ist die Option "Löschen" deaktiviert. Der Befehl DROP DATABASE schlägt auch fehl mit der Nachricht "Datenbank kann nicht gelöscht werden" XYZ ", weil sie gerade verwendet wird."SQL Server-Datenbank löschen

Ich habe den SQL Server heruntergefahren und neu gestartet und die Datenbank wird nicht gelöscht.

Irgendeine Richtung?

Antwort

10

Eine neue Suche gefunden das folgende Skript, das funktioniert:

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

einige offene Transaktion gewesen sein muss, die den Rückgang war zu stoppen. Problem gelöst.

+0

Wenn dieser Code nicht funktioniert, siehe hier: https://stackoverflow.com/questions/48475066/unable-to-drop-database-in-sql-server-20120 - Ich habe diesen Code oben und idealerweise diesen Code versucht sollte funktionieren, aber es hat nicht für mich funktioniert! –

0

Wie lange dauert Ihre Konversation? Vielleicht sollten Sie Transaktionen in Betracht ziehen, wenn das eine Option ist. Führen Sie die Transaktion nur zurück, wenn Ihre Konversation fehlschlägt.