Frage Die Datenbank 'XXX' befindet sich im Übergang. Versuchen Sie die Aussage später


Ich versuche, eine Verbindung zu einer SQL Server-Datenbank herzustellen, bekomme ich diesen Fehler

Database 'XXX' is in transition. Try the statement later.

Ich habe heute eine lange Abfrage abgebrochen, aber aus irgendeinem Grund kann ich die Datenbank nicht mehr zurückbekommen. Kann ich irgendetwas tun?


27
2018-01-08 06:15


Ursprung


Bei einer Frage wie dieser sollte man sich genau überlegen, was SQL Server und seine Version sind. Ich nehme an, Sie meinen einen der Microsoft SQL Server, aber wir sollten nicht raten müssen. - John Gardeniers
Schau dir das an. Das hat für mich funktioniert. stackoverflow.com/a/27036481/4273753


Antworten:


Dies kann manchmal vorkommen, wenn Sie versuchen, eine Datenbank offline zu schalten oder bestimmte andere Operationen auszuführen, und sie fehlschlagen. Manchmal kann die Sperre gelöscht werden, wenn Sie die SSMS-Instanz schließen, die die Operation versucht hat, und sie dann erneut öffnen. Schließen und öffnen Sie alle SSMS-Instanzen, die an den Server angeschlossen sind.

Es kann auch auftreten, wenn Sie versuchen, die Datenbank offline zu schalten, während eine lange Abfrage ausgeführt wird. Überprüfen Sie den Aktivitätsmonitor und versuchen Sie, gegebenenfalls vorhandene Abfragen mit langer Laufzeit zu löschen.

Wenn keiner der oben genannten Schritte zutrifft, schließen Sie alle SSMS-Instanzen, und starten Sie dann SQL über den SQL Server-Konfigurations-Manager neu. In der Regel wird das behoben, obwohl sich die Datenbank zunächst im Wiederherstellungsmodus befindet.


39
2018-01-08 06:21



Es ist so seltsam. Weißt du, warum es passiert? - Krismorte


Merkwürdigerweise habe ich dieses Problem behoben, indem ich SSMS einfach geschlossen und neu geöffnet habe.


11
2017-07-08 16:39



zu einfach. hat für mich gearbeitet. - greg121


Während das Schließen von SSMS auch für mich funktionierte, könnte man je nach Problem versuchen:

ALTER DATABASE [Name] SET SINGLE_USER WITH ROLLBACK IMMEDIATE

ALTER DATABASE [Name] SET MULTI_USER

Diese Idee kam von dieser Frage (und der persönlichen Erfahrung): https://stackoverflow.com/questions/4230290/sql-server-2008-how-do-i-disconnect-everyone-from-my-db


3
2017-10-11 14:34





In SQL Server Management Studio ist eine Option zum Online- / Offline-Ausführen einer Datenbank verfügbar. Aber es braucht eine administrative Erlaubnis.

Um darauf zuzugreifen, klicken Sie mit der rechten Maustaste auf Datenbank -> Aufgaben -> Online.


1
2018-02-04 09:02





Ich weiß, dass es schon beantwortet ist, aber nur hinzuzufügen; Wenn die Situation so ist, dass Sie versuchen, es offline zu schalten, und es dann fehlgeschlagen ist, können Sie versuchen, die SPID zu löschen, die versucht, den Datenbankstatus zu ändern.

Führen Sie sp_who oder sp_who2 aus, und suchen Sie nach einer SPID, die sich in der Datenbank dreht und versucht, die Datenbank offline zu schalten. KILL, dass SPID, und Sie sind entweder mit Online-oder Offline-DB, die nicht im Übergangszustand ist.


0
2017-10-03 17:24