Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Dieses Thema ist nur für Sicherungen und Wiederherstellungen von SQL Server-Datenbanken relevant, die das vollständige oder das massenprotokollierte Wiederherstellungsmodell verwenden.
Eine Sicherung des Protokollendes erfasst alle Protokolldatensätze, die noch nicht gesichert wurden (das Protokollende), um Arbeitsverlust 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.
Nicht für alle Wiederherstellungsszenarien ist eine Sicherung des Protokollfragments erforderlich. Sie benötigen keine Sicherung des Protokollfragments, wenn der Wiederherstellungspunkt bereits in einer früheren Protokollsicherung enthalten ist. Eine Sicherung des Protokollfragments ist unnötig, wenn Sie eine Datenbank verschieben oder ersetzen (überschreiben) und sie nicht zu einem Zeitpunkt wiederherstellen müssen, der nach der letzten Sicherung liegt.
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, sichern Sie zunächst das Ende des Protokolls. Um einen Fehler für eine Onlinedatenbank zu vermeiden, müssen Sie die
WITH NORECOVERYOption der BACKUP Transact-SQL-Anweisung verwenden.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 die Option
WITH NO_TRUNCATEverwendet werden.NO_TRUNCATEist praktisch dasselbe wie eine reine Kopie des Transaktionsprotokolls. Die Verwendung vonWITH NORECOVERYist optional, da zu diesem Zeitpunkt keine Transaktionen stattfinden können.Falls eine Datenbank beschädigt ist, nehmen Sie eine Sicherung eines Protokollfragments mithilfe der Option
WITH CONTINUE_AFTER_ERRORderBACKUP-Anweisung vor.Bei einer beschädigten Datenbank kann die Sicherung des Protokollendes nur dann erfolgreich sein, wenn die Protokolldateien unbeschädigt sind, sich die Datenbank in einem Zustand befindet, der Sicherungen des Protokollendes unterstützt, und die Datenbank keine Änderungen mit massenhafter Protokollierung enthält. Wenn keine Protokollfragmentsicherung erstellt werden kann, gehen alle nach der letzten Protokollsicherung ausgeführten Transaktionen verloren.
In der folgenden Tabelle finden Sie eine Zusammenfassung der Optionen NORECOVERY, NO_TRUNCATE und CONTINUE_AFTER_ERROR für BACKUP.
| 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. Dieser Schritt garantiert, dass sich die Datenbank nach der Sicherung des Protokollfragments nicht mehr verändert. Das Protokoll wird gekürzt, wenn nicht auch die Option NO_TRUNCATE oder die Option COPY_ONLY angegeben ist.Wichtig: Verwenden Sie NO_TRUNCATE nicht, außer wenn die Datenbank beschädigt oder offline ist. Möglicherweise müssen Sie die Datenbank in den Einzelbenutzermodus versetzen, um exklusiven Zugriff zu erhalten, bevor Sie die Wiederherstellung mit NORECOVERY ausführen. Versetzen Sie die Datenbank nach der Wiederherstellung wieder in den Multibenutzermodus. |
CONTINUE_AFTER_ERROR |
Verwenden Sie CONTINUE_AFTER_ERROR nur dann, wenn Sie das Fragment einer beschädigten Datenbank sichern.Wenn Sie das Ende des Protokolls einer beschädigten Datenbank sichern, sind einige der Metadaten, die normalerweise in Protokollsicherungen erfasst werden, möglicherweise nicht verfügbar. Weitere Informationen finden Sie im nächsten Abschnitt. |
Sicherungen des Protokollfragments mit unvollständigen Sicherungs-Metadaten
Sicherungen des Protokollendes sichern den abschließenden Teil des Transaktionsprotokolls, selbst wenn die Datenbank offline oder beschädigt ist oder Datendateien fehlen. Dies kann zu unvollständigen Metadaten aus den Befehlen für Wiederherstellungsinformationen und msdb führen. In diesem Fall sind jedoch nur die Metadaten unvollständig; das erfasste Protokoll ist vollständig und kann verwendet werden.
Wenn eine Sicherung des Transaktionsprotokollendes unvollständige Metadaten aufweist, wird in der Tabelle backupsethas_incomplete_metadata auf 1 gesetzt. Außerdem ist in der Ausgabe von RESTORE HEADERONLYHasIncompleteMetadata auf 1 gesetzt.
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 NULL, und nur die folgenden Spalten sind dann sinnvoll:
backup_set_idfilegroup_idtypetype_descis_readonly
Zugehörige Aufgaben
Informationen zum Erstellen einer Sicherung der Protokolldatei finden Sie unter Sichern des Transaktionsprotokolls bei beschädigter Datenbank (SQL Server).
Informationen zum Wiederherstellen einer Transaktionsprotokollsicherung finden Sie unter Wiederherstellen einer Transaktionsprotokollsicherung (SQL Server).
Zugehöriger Inhalt
- BACKUP (Transact-SQL)
- RESTORE Anweisungen (Transact-SQL)
- Sichern und Wiederherstellen von SQL Server-Datenbanken
- Nur-Kopie-Sicherungen
- Transaktionsprotokollsicherungen (SQL Server)
- Anwenden von Transaktionsprotokollsicherungen (SQL Server)
- Handbuch zur Architektur und Verwaltung von Transaktionsprotokollen in SQL Server