Jeśli zamierzasz usunąć bazę danych, musisz być jedynym połączeniem z tą bazą danych. Jeśli istnieją jakieś inne połączenia, nie można go upuścić. Z komunikatu o błędzie (ten błąd oznacza, że twoja baza danych jest w trybie Single_User, ale połączenie już istnieje, więc nie możesz się połączyć), zakładam, że próbowałeś ustawić go w trybie Single_User, a następnie próbowałeś wykonać zrzut, ale albo złapałem połączenie, o którym nie wiedziałeś, lub inny proces. Fakt, że ponowne uruchomienie SSMS działało dla ciebie, mówi mi, że prawdopodobnie złapałeś to połączenie. Oto jak możesz to naprawić.
Logicznie musisz przełączyć bazę danych z powrotem w tryb wielu użytkowników, abyś mógł ponownie wprowadzić ją w tryb pojedynczego użytkownika (ale tym razem będziesz mieć kontrolę nad tym dozwolonym pojedynczym połączeniem i usuniesz bazę danych, zanim coś innego się połączy), a następnie twoja baza danych przepadnij.
W kodzie tutaj jest, jak to zrobić ( ale najpierw zamknij okna zapytań, które są połączone z tą bazą danych. Uruchom ponownie SSMS i upewnij się, że nie wybierasz tej bazy danych w przeglądarce obiektów ):
-- Then attempt to take your database to multi_user mode, do this from master
USE MASTER
GO
ALTER DATABASE myDatabaseName
SET multi_user WITH ROLLBACK IMMEDIATE
GO
-- Now put it into single_user mode and drop it. Use Rollback Immediate to disconnect any sessions and rollback their transactions. Safe since you are about to drop the DB.
ALTER DATABASE myDatabaseName
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
DROP DATABASE myDatabaseName
GO