Eine kurze Schrecksekunde. Auf einem produktiven Kundenserver (SQL Server 2016) habe ich eine Sicherung einer produktiven Datenbank erstellt und sie anschliessend unter einem anderen Namen zu Testzwecken wiederhergestellt. Das hat geklappt und die neue Datenbank war auch vorhanden, jedoch stand nun die Quelldatenbank im Modus “Restoring …” und war nicht mehr ansprechbar. Hatte ich bei der Wiederherstellung einen Fehler gemacht?
Zum Glück Mittagszeit, niemand greift auf die Datenbank zu. Nach einer kurzen Suche im Internet, war das Problem klar. In der neuen Version des SQL Management Studios sind bei der Wiederherstellung von Datenbanken, die im Full Modus gesichert werden, die folgenden Optionen standardmässig aktiviert:
Take tail-log backup before restore
Leave source database in the restoring state (WITH NORECOVERY)
Diese Einstellung ist im Recovery Dialog unter “Options -> Tail-Log backup” zu finden:
Microsoft will mit der standardmässigen Aktivierung dieser Option (war früher nicht standardmässig aktiviert) auf sicher gehen und ermöglicht so eine zeitgenaue Wiederherstellung einer Datenbank. Für meinen Fall war es eher hinderlich, da ich bei einer Testkopie einer Datenbank nicht sicherstellen muss, dass alle Daten bis um Wiederherstellungszeitpunkt in der Kopie vorhanden sind.
Möchte man die Quelldatenbank wieder verfgübar machen, geht dies mit nachfolgendem Befehl:
RESTORE DATABASE [Name] WITH RECOVERY
Also, für das nächste Mal, diese Option deaktivieren. Man läuft dann auch nicht Gefahr, dass die Quelldatenbank plötzlich nicht mehr verfügbar ist.