Durch die Datenbankwiederherstellung mit SSMS bleibt die Quelldatenbank im Wiederherstellungsstatus


7

Ich verwende SQL Server 2016 (Developer Edition) und wollte eine Kopie einer Datenbank in meiner Serverinstanz erstellen. Ich habe eine einfache Sicherung und dann eine Wiederherstellung durchgeführt, indem ich erneut mit der rechten Maustaste auf die Datenbank geklickt habe -> Aufgaben -> Wiederherstellen.

Durch Ändern des Datenbanknamens wird die Datenbank tatsächlich in einer neu erstellten Datenbank wiederhergestellt. So weit, ist es gut. Die ursprüngliche Datenbank, mit der ich begonnen habe und von der aus ich die Wiederherstellung gestartet habe, erhält jedoch einen Status (Wiederherstellen ...), der auf normale Weise nicht geändert werden kann.

Natürlich weiß ich, wie man eine Datenbank anders wiederherstellt, ohne dieses Problem zu verursachen, und meine ursprüngliche Datenbank funktioniert wieder, aber meine Frage lautet:

Ist das normales Verhalten? Ich glaube, ich bin auf einen Fehler gestoßen.

Antworten:


16

Dies ist ein "normales" Verhalten in SSMS, wenn Sie das Kontrollkästchen "Sicherung des Endprotokolls vor der Wiederherstellung durchführen" und das Kontrollkästchen "Quelldatenbank im Wiederherstellungsstatus belassen" aktivieren.

Es ist möglicherweise nicht intuitiv und wahrscheinlich nicht die beste Entscheidung, diese Kontrollkästchen standardmäßig zu aktivieren. Sie müssen jedoch das Kontrollkästchen "Quelldatenbank im Wiederherstellungszustand belassen" deaktivieren, um dieses Verhalten zu vermeiden:

Geben Sie hier die Bildbeschreibung ein

Es handelt sich also nicht um einen Fehler, sondern um ein Standard-SSMS-Verhalten, das sich in einer neueren Version geändert hat (ich glaube, diese Optionen wurden 2012 angezeigt, bin mir aber nicht sicher).

Wenn Sie seltsames oder fehlerhaftes Verhalten in SSMS vermeiden möchten, ist es am besten, Ihre Wiederherstellungen mithilfe von T-SQL-Skripten durchzuführen, damit Sie auch bei Änderung Ihrer SSMS-Version etwas Reproduzierbares haben.

Sehen Sie sich dieses Verbindungselement an, in dem eindeutig angegeben ist, dass dies beabsichtigt ist.


Es gibt einen Blog-Beitrag über genau das hier sqlundercover.com/2017/08/14/…
David Fowler

3
Die Sicherung des Endprotokolls vor der Wiederherstellung durchführen und die Quellendatenbank im Wiederherstellungsstatus belassen (WITH NORECOVERY) waren ab SSMS 2012 verfügbar. Wenn Sie eine Wiederherstellung wie in SQL 2012 beschrieben durchführen, sind standardmäßig beide Optionen ausgewählt. In SSMS 2014 sind diese Optionen standardmäßig nicht ausgewählt. Anscheinend hat MS beschlossen, es für SSMS 2016 standardmäßig wieder einzuschalten.
John aka hot2use
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.