Freigeben über


Protokollfragmentsicherungen (SQL Server)

Dieses Thema ist nur Sicherungen und Wiederherstellungen von SQL Server -Datenbanken relevant, die das vollständige oder das massenprotokollierte Wiederherstellungsmodell verwenden.

Eine Sicherung des Protokollfragments zeichnet Protokolldatensätze auf, die bisher noch nicht gesichert wurden (das Protokollfragment), um Datenverlust zu vermeiden und die Protokollkette intakt zu halten. Bevor Sie eine SQL Server -Datenbank auf den letzten Zeitpunkt wiederherstellen können, müssen Sie das Transaktionsprotokollfragment sichern. Die Sicherung des Protokollfragments ist die letzte relevante Sicherung im Wiederherstellungsplan für die Datenbank.

Hinweis

Nicht für alle Wiederherstellungsszenarien ist eine Sicherung des Protokollfragments erforderlich. Sie benötigen keine Sicherung des Protokollfragments, wenn der Wiederherstellungspunkt in einer früheren Protokollsicherung enthalten ist. Eine Sicherung des Protokollfragments ist auch dann nicht erforderlich, wenn Sie eine Datenbank verschieben oder ersetzen (überschreiben) und sie nicht für einen Zeitpunkt nach der letzten Sicherung wiederherstellen müssen.

Szenarien, die eine Sicherung des Protokollfragments erfordern

In den folgenden Szenarien wird empfohlen, eine Sicherung des Protokollfragments auszuführen:

  • Wenn die Datenbank online ist und Sie einen Wiederherstellungsvorgang für die Datenbank ausführen möchten, beginnen Sie mit der Sicherung des Protokollfragments: Um einen Fehler für eine Onlinedatenbank zu vermeiden, müssen Sie ... WITH NORECOVERY-Option der BackupTransact-SQL-Anweisung.

  • Wenn eine Datenbank offline ist und nicht gestartet werden kann, Sie aber die Datenbank wiederherstellen möchten, sichern Sie zunächst das Protokollfragment. Da während dieser Zeit keine Transaktionen auftreten können, kann WITH NORECOVERY optional verwendet werden.

  • Falls eine Datenbank beschädigt ist, nehmen Sie eine Sicherung eines Protokollfragments mithilfe der WITH CONTINUE_AFTER_ERROR-Option der BACKUP-Anweisung vor.

    Die Sicherung des Protokollfragments bei einer beschädigten Datenbank verläuft nur dann erfolgreich, wenn die Protokolldateien unbeschädigt sind, die Datenbank sich in einem Zustand befindet, in dem Protokollfragmentsicherungen unterstützt werden und die Datenbank keine massenprotokollierten Änderungen enthält. Wenn keine Protokollfragmentsicherung erstellt werden kann, gehen alle nach der letzten Protokollsicherung ausgeführten Transaktionen verloren.

In der folgenden Tabelle werden die BACKUP NORECOVERY- und CONTINUE_AFTER_ERROR-Optionen zusammengefasst.

BACKUP LOG-Option Kommentare
NORECOVERY Verwenden Sie NORECOVERY immer dann, wenn Sie vorhaben, einen Wiederherstellungsvorgang in der Datenbank fortzusetzen. Mit NORECOVERY wird die Datenbank in den Wiederherstellungszustand versetzt. Damit wird sichergestellt, dass sich die Datenbank nach der Sicherung des Protokollfragments nicht ändert. Das Protokoll wird abgeschnitten, es sei denn, die option NO_TRUNCATE oder COPY_ONLY Option wird ebenfalls angegeben.

**Wichtig** Es wird empfohlen, die Verwendung von NO_TRUNCATE zu vermeiden, außer wenn die Datenbank beschädigt ist.
CONTINUE_AFTER_ERROR Verwenden Sie CONTINUE_AFTER_ERROR nur dann, wenn Sie das Fragment einer beschädigten Datenbank sichern.

Hinweis: Wenn Sie die Sicherung des Protokolls in einer beschädigten Datenbank verwenden, sind einige der normalerweise in Protokollsicherungen erfassten Metadaten möglicherweise nicht verfügbar. Weitere Informationen finden Sie weiter unten in diesem Thema unter Sicherungen des Protokollfragments mit unvollständigen Sicherungsmetadaten.

Sicherungen des Protokollfragments mit unvollständigen Sicherungsmetadaten

Eine Protokollfragmentsicherung erfasst das Protokollfragment selbst dann, wenn die Datenbank offline geschaltet oder beschädigt ist oder wenn Datendateien fehlen. Dies kann zu unvollständigen Metadaten aus den Wiederherstellungsinformationsbefehlen und aus msdbführen. In diesem Fall sind jedoch nur die Metadaten unvollständig; das erfasste Protokoll ist vollständig und kann verwendet werden.

Enthält eine Sicherung des Protokollfragments unvollständige Metadaten, wird der Eintrag has_incomplete_metadata in der backupset -Tabelle auf 1festgelegt. Auch in der Ausgabe von RESTORE HEADERONLYist HasIncompleteMetadata auf 1festgelegt.

Wenn die Metadaten in einer Sicherung des Protokollfragments unvollständig sind, fehlt in der backupfilegroup -Tabelle ein Großteil der Informationen zu den Dateigruppen zum Zeitpunkt der Sicherung des Protokollfragments. Die meisten Spalten der backupfilegroup -Tabelle sind dann NULL, und nur die folgenden Spalten sind dann sinnvoll:

  • backup_set_id

  • filegroup_id

  • type

  • type_desc

  • is_readonly

Related Tasks

Informationen zum Erstellen einer Sicherung des Schlussprotokolls finden Sie unter Sichern des Transaktionsprotokolls, wenn die Datenbank beschädigt ist (SQL Server).

Informationen zum Wiederherstellen einer Transaktionsprotokollsicherung finden Sie unter Wiederherstellen einer Transaktionsprotokollsicherung (SQL Server).

Weitere Informationen

BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
Sichern und Wiederherstellen von SQL Server-Datenbanken
Kopiesicherungen (SQL Server)
Transaktionsprotokollsicherungen (SQL Server)
Anwenden von Transaktionsprotokollsicherungen (SQL Server)