Wenn Sie eine Datenbank löschen, müssen Sie die einzige Verbindung zu dieser Datenbank sein. Wenn andere Verbindungen vorhanden sind, können Sie sie nicht löschen. Aufgrund der Fehlermeldung (dieser Fehler bedeutet, dass sich Ihre Datenbank im Single_User-Modus befindet, aber bereits eine Verbindung besteht, sodass Sie keine Verbindung herstellen können) gehe ich davon aus, dass Sie versucht haben, sie in den Single_User-Modus zu versetzen, und dann versucht haben, die Löschung durchzuführen, aber entweder Sie hat sich eine Verbindung geholt, von der Sie nichts wussten oder die ein anderer Prozess hat. Die Tatsache, dass der Neustart von SSMS für Sie funktioniert hat, sagt mir, dass Sie wahrscheinlich diese Verbindung ergriffen haben. Also hier ist, wie Sie das beheben können.
Logischerweise müssen Sie die Datenbank wieder in den Multi-User-Modus versetzen, damit Sie sie wieder in den Single-User-Modus versetzen können (diesmal haben Sie jedoch die Kontrolle über diese einzelne Verbindung und löschen die Datenbank, bevor eine andere Verbindung hergestellt wird) weg sein.
Im folgenden Code wird beschrieben, wie Sie dies tun müssen ( schließen Sie jedoch zuerst die Abfragefenster, die mit dieser Datenbank verbunden sind. Starten Sie SSMS neu und stellen Sie sicher, dass Sie diese Datenbank nicht im Objektbrowser auswählen ):
-- 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