2009-06-30 21 views
5

Tworzę bazę danych SQL Server programowo podczas konwersji. Jeśli kod konwersji nie powiedzie się, chcę usunąć/upuścić bazę danych. Jeśli używam menu skrótów dla bazy danych w SQL Server Management Studio 2005 opcja "usuń" jest wyłączona. Polecenie DROP DATABASE również kończy się niepowodzeniem z komunikatem "Can not drop database" XYZ ", ponieważ jest on obecnie używany."Upuść bazę danych SQL Server

Mam wyłączenie i zrestartowałem serwer SQL, a baza danych nie spadnie.

Dowolny kierunek?

Odpowiedz

10

nowe wyszukiwanie Znaleziono następujący skrypt, który pracował:

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

Musi być jakiś otwarta transakcja, która została zatrzymanie spadku. Problem rozwiązany.

+0

Jeśli ten kod nie działa, zajrzyj tutaj: https://stackoverflow.com/questions/48475066/unable-to-drop-database-in-sql-server-20120 - Wypróbowałem powyższy kod i najlepiej ten kod powinien zadziałać, ale to nie zadziałało! –

0

Jak długo trwa rozmowa? Może warto rozważyć użycie transakcji, jeśli jest to opcja. Po prostu wycofaj transakcję, gdy rozmowa się nie powiedzie.

Powiązane problemy