Ich versuche, eine Testdatenbank zu entfernen, bei der eine Datenbankänderung fehlgeschlagen ist. Die durch die Rollback-Aktion in SQL verbrauchten Ressourcen wirken sich auf Produktionsdatenbanken aus (Benutzer melden langsame Abfragen usw.).
Dies ist keine ideale Situation, da separate Produktions- und Testserver bei meinem Kundenstamm leider eine Seltenheit sind.
Auch das Trennen bestehender Verbindungen schlägt beim Versuch, die Datenbank zu löschen, fehl.
Ich kann die Datenbank nicht in den Einzelbenutzermodus versetzen, da sie durch das Rollback gesperrt ist.
Die Datenintegrität dieser Datenbank ist mir egal – sie muss lediglich gelöscht werden, andere Datenbanken auf der Instanz dürfen jedoch nicht beeinträchtigt werden.
Gibt es eine Methode, um vorhandene Rollback-Transaktionen abzubrechen und eine Datenbank dauerhaft zu löschen?
Antwort1
Ja, Sie können dies tun, indem Sie den Aktivitätsmonitor aktivieren, indem Sie im linken Bereich des SQL MGMT-Studios mit der rechten Maustaste auf den Servernamen klicken.
Anschließend können Sie alle mit Ihrer Testdatenbank verknüpften Prozesse filtern und den Prozess beenden
dann können Sie Ihre Test-DB löschen
Hinweis: Diese Methode ist möglicherweise nicht für im Einsatz befindliche Datenbanken und Datenbanken ohne Backup geeignet!
Sie können dies auch durch Starten/Stoppen von SQL-Diensten tun. Dies ist wiederum nur für Testdatenbanken geeignet, aus denen Sie keine Daten benötigen.