Protokollfragmentsicherungen (SQL Server)Tail-Log Backups (SQL Server)

Dieses Thema ist nur Sicherungen und Wiederherstellungen von SQL ServerSQL Server -Datenbanken relevant, die das vollständige oder das massenprotokollierte Wiederherstellungsmodell verwenden.This topic is relevant only for backup and restore of SQL ServerSQL Server databases that are using the full or bulk-logged recovery models.

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.A tail-log backup captures any log records that have not yet been backed up (the tail of the log) to prevent work loss and to keep the log chain intact. Bevor Sie eine SQL ServerSQL Server -Datenbank auf den letzten Zeitpunkt wiederherstellen können, müssen Sie das Transaktionsprotokollfragment sichern.Before you can recover a SQL ServerSQL Server database to its latest point in time, you must back up the tail of its transaction log. Die Sicherung des Protokollfragments ist die letzte relevante Sicherung im Wiederherstellungsplan für die Datenbank.The tail-log backup will be the last backup of interest in the recovery plan for the database.

HINWEIS: Nicht für alle Wiederherstellungsszenarien ist eine Sicherung des Protokollfragments erforderlich.NOTE: Not all restore scenarios require a tail-log backup. Sie benötigen keine Sicherung des Protokollfragments, wenn der Wiederherstellungspunkt in einer früheren Protokollsicherung enthalten ist.You do not need a tail-log backup if the recovery point is contained in an earlier log backup. 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.Also, a tail-log backup is unnecessary if you are moving or replacing (overwriting) a database and do not need to restore it to a point of time after its most recent backup.

Szenarien, die eine Sicherung des Protokollfragments erfordern Scenarios That Require a Tail-Log Backup

In den folgenden Szenarien wird empfohlen, eine Sicherung des Protokollfragments auszuführen:We recommend that you take a tail-log backup in the following scenarios:

  • Wenn die Datenbank online ist und Sie einen Wiederherstellungsvorgang für die Datenbank ausführen möchten, beginnen Sie mit der Sicherung des Protokollfragments:If the database is online and you plan to perform a restore operation on the database, begin by backing up the tail of the log. Verwenden Sie zur Vermeidung eines Fehlers bei einer Onlinedatenbank die …To avoid an error for an online database, you must use the … Die Option WITH NORECOVERY der BACKUP Transact-SQLTransact-SQL -Anweisung.WITH NORECOVERY option of the BACKUP Transact-SQLTransact-SQL statement.

  • Wenn eine Datenbank offline ist und nicht gestartet werden kann, Sie aber die Datenbank wiederherstellen möchten, sichern Sie zunächst das Protokollfragment.If a database is offline and fails to start and you need to restore the database, first back up the tail of the log. Da während dieser Zeit keine Transaktionen auftreten können, kann WITH NORECOVERY optional verwendet werden.Because no transactions can occur at this time, using the WITH NORECOVERY is optional.

  • Falls eine Datenbank beschädigt ist, nehmen Sie eine Sicherung eines Protokollfragments mithilfe der WITH CONTINUE_AFTER_ERROR-Option der BACKUP-Anweisung vor.If a database is damaged, try to take a tail-log backup by using the WITH CONTINUE_AFTER_ERROR option of the BACKUP statement.

    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.On a damaged database backing up the tail of the log can succeed only if the log files are undamaged, the database is in a state that supports tail-log backups, and the database does not contain any bulk-logged changes. Wenn keine Protokollfragmentsicherung erstellt werden kann, gehen alle nach der letzten Protokollsicherung ausgeführten Transaktionen verloren.If a tail-log backup cannot be created, any transactions committed after the latest log backup are lost.

    In der folgenden Tabelle werden die BACKUP NORECOVERY- und CONTINUE_AFTER_ERROR-Optionen zusammengefasst.The following table summarizes the BACKUP NORECOVERY and CONTINUE_AFTER_ERROR options.

BACKUP LOG-OptionBACKUP LOG option KommentareComments
NORECOVERYNORECOVERY Verwenden Sie NORECOVERY immer dann, wenn Sie vorhaben, einen Wiederherstellungsvorgang in der Datenbank fortzusetzen.Use NORECOVERY whenever you intend to continue with a restore operation on the database. Mit NORECOVERY wird die Datenbank in den Wiederherstellungszustand versetzt.NORECOVERY takes the database into the restoring state. Damit wird sichergestellt, dass sich die Datenbank nach der Sicherung des Protokollfragments nicht ändert.This guarantees that the database does not change after the tail-log backup. Das Protokoll wird abgeschnitten, es sei denn, die NO_TRUNCATE-Option oder COPY_ONLY-Option ist ebenfalls angegeben.The log will be truncated unless the NO_TRUNCATE option or COPY_ONLY option is also specified.

** Wichtig *\* Verwenden Sie NO_TRUNCATE nur, wenn die Datenbank beschädigt ist.** Important *\* Avoid using NO_TRUNCATE, except when the database is damaged.
CONTINUE_AFTER_ERRORCONTINUE_AFTER_ERROR Verwenden Sie CONTINUE_AFTER_ERROR nur dann, wenn Sie das Fragment einer beschädigten Datenbank sichern.Use CONTINUE_AFTER_ERROR only if you are backing up the tail of a damaged database.

Wenn Sie das Protokollfragment in einer beschädigten Datenbank sichern, sind einige der Metadaten, die normalerweise in Protokollsicherungen erfasst werden, eventuell nicht verfügbar.When you use back up the tail of the log on a damaged database, some of the metadata ordinarily captured in log backups might be unavailable. Weitere Informationen finden Sie in diesem Thema unter Sicherungen des Protokollfragments mit unvollständigen Sicherungsmetadaten.For more information, see Tail-Log Backups That Have Incomplete Backup Metadata, in this topic.

Sicherungen des Protokollfragments mit unvollständigen Sicherungsmetadaten Tail-Log Backups That Have Incomplete Backup Metadata

Eine Protokollfragmentsicherung erfasst das Protokollfragment selbst dann, wenn die Datenbank offline geschaltet oder beschädigt ist oder wenn Datendateien fehlen.Tail log backups capture the tail of the log even if the database is offline, damaged, or missing data files. Dies kann zu unvollständigen Metadaten aus den Wiederherstellungsinformationsbefehlen und aus msdbführen.This might cause incomplete metadata from the restore information commands and msdb. In diesem Fall sind jedoch nur die Metadaten unvollständig; das erfasste Protokoll ist vollständig und kann verwendet werden.However, only the metadata is incomplete; the captured log is complete and usable.

Enthält eine Sicherung des Protokollfragments unvollständige Metadaten, wird der Eintrag has_incomplete_metadata in der backupset -Tabelle auf 1festgelegt.If a tail-log backup has incomplete metadata, in the backupset table, has_incomplete_metadata is set to 1. Auch in der Ausgabe von RESTORE HEADERONLYist HasIncompleteMetadata auf 1festgelegt.Also, in the output of RESTORE HEADERONLY, HasIncompleteMetadata is set to 1.

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.If the metadata in a tail-log backup is incomplete, the backupfilegroup table will be missing most of the information about filegroups at the time of the tail-log backup. Die meisten Spalten der backupfilegroup -Tabelle sind dann NULL, und nur die folgenden Spalten sind dann sinnvoll:Most of the backupfilegroup table columns are NULL; the only meaningful columns are as follows:

  • backup_set_idbackup_set_id

  • filegroup_idfilegroup_id

  • Typtype

  • type_desctype_desc

  • is_readonlyis_readonly

Informationen zum Erstellen einer Sicherung der Protokolldatei finden Sie unter Sichern des Transaktionsprotokolls bei beschädigter Datenbank (SQL Server).To create a tail-log backup, see Back Up the Transaction Log When the Database Is Damaged (SQL Server).

Informationen zum Wiederherstellen einer Transaktionsprotokollsicherung finden Sie unter Wiederherstellen einer Transaktionsprotokollsicherung (SQL Server).To restore a transaction log backup, see Restore a Transaction Log Backup (SQL Server).

Siehe auchSee Also

BACKUP (Transact-SQL) BACKUP (Transact-SQL)
RESTORE (Transact-SQL) RESTORE (Transact-SQL)
Sichern und Wiederherstellen von SQL Server-Datenbanken Back Up and Restore of SQL Server Databases
Kopiesicherungen (SQL Server) Copy-Only Backups (SQL Server)
Transaktionsprotokollsicherungen (SQL Server) Transaction Log Backups (SQL Server)
Anwenden von Transaktionsprotokollsicherungen (SQL Server) Apply Transaction Log Backups (SQL Server)