Wenn ich eine Wiederherstellung einer Datenbank von einem Produktionsserver auf einen Nichtproduktionsserver durchführe, verwende ich normalerweise die Option WITH REPLACE, wenn ich vergesse, dass eine Fehlermeldung angezeigt wird, dass das Endprotokoll nicht gesichert wird.
Laut MSDN sollte ich vor dem Wiederherstellen tatsächlich mein Endprotokoll sichern:
Wenn die Datenbank online ist und Sie einen Wiederherstellungsvorgang für die Datenbank ausführen möchten, sichern Sie zunächst das Ende des Protokolls. Um einen Fehler für eine Online-Datenbank zu vermeiden, müssen Sie die Option… WITH NORECOVERY der BACKUP Transact-SQL-Anweisung verwenden.
Was sind einige Gefahren oder Nachteile meiner Arbeitsweise? Warum ist es für mich von Vorteil, das Endprotokoll zu sichern?
Ich verwende SQL Server 2008R2, gehe jedoch davon aus, dass diese Abfrage für die meisten neueren Versionen von SQL Server relevant ist. Sie wurde daher zunächst nicht als solche gekennzeichnet.
WITH COPY_ONLY
für das Backup verwenden.Antworten:
Wenn Sie das Ende des Protokolls nicht sichern, verlieren Sie alle Transaktionen, die seit dem letzten Sichern der Datenbank aufgetreten sind.
quelle