Sicherungen des Protokollfragments
Aktualisiert: 17. Juli 2006
Dieses Thema ist nur für Datenbanken relevant, für die das vollständige oder massenprotokollierte Wiederherstellungsmodell verwendet wird.
In den meisten Fällen ist es bei Verwendung des vollständigen oder des massenprotokollierten Wiederherstellungsmodells in SQL Server 2005 erforderlich, das Protokollfragment zu sichern, um die Protokolldatensätze aufzuzeichnen, die noch nicht gesichert wurden. Eine Protokollsicherung des Fragments im Protokoll, die unmittelbar vor einem Wiederherstellungsvorgang erstellt wurde, wird als Sicherung des Protokollfragments bezeichnet.
In SQL Server 2005 ist es normalerweise erforderlich, eine Sicherung des Protokollfragments auszuführen, bevor die Wiederherstellung einer Datenbank gestartet wird. Durch die Sicherung des Protokollfragments wird Datenverlust verhindert und die Protokollkette intakt gehalten. Wenn Sie eine Datenbank bis zum Zeitpunkt des Fehlers wiederherstellen, ist die Sicherung des Protokollfragments im Wiederherstellungsplan die letzte relevante Sicherung. Wenn Sie das Protokollfragment nicht sichern können, kann eine Datenbank nur bis zum Ende der letzten Sicherung wiederhergestellt werden, die vor dem Fehler erstellt wurde.
Nicht für alle Wiederherstellungsszenarien ist eine Sicherung des Protokollfragments erforderlich. Es ist keine Sicherung des Protokollfragments erforderlich, wenn der Wiederherstellungspunkt in einer früheren Protokollsicherung enthalten ist oder wenn Sie die Datenbank verschieben oder ersetzen (überschreiben). Wenn die Protokolldateien beschädigt sind und keine Sicherung des Protokollfragments erstellt werden kann, müssen Sie zudem die Datenbank ohne Verwendung einer Sicherung des Protokollfragments wiederherstellen. Dabei gehen alle Transaktionen verloren, die nach der letzten Protokollsicherung ausgeführt wurden. Weitere Informationen finden Sie im Folgenden unter "Wiederherstellen ohne Verwendung einer Sicherung des Protokollfragments".
Sichern des Protokollfragments
Wie jede Protokollsicherung wird auch eine Sicherung des Protokollfragments mit der BACKUP LOG-Anweisung ausgeführt. Für folgende Situationen wird empfohlen, eine Sicherung des Protokollfragments auszuführen:
- Wenn die Datenbank online ist, sollten Sie vor dem Starten einer Wiederherstellungssequenz das Protokollfragment mithilfe von WITH NORECOVERY sichern, wenn die von Ihnen als Nächstes geplante Aktion an der Datenbank ein Wiederherstellungsvorgang ist:
BACKUP LOG database_name TO <backup_device> WITH NORECOVERYHinweis: Damit ein Fehler vermieden wird, ist die Option NORECOVERY erforderlich. - Wenn die Datenbank offline ist und nicht gestartet wird.
Versuchen Sie, eine Sicherung des Protokollfragments zu erstellen. Da während dieser Zeit keine Transaktionen auftreten können, kann WITH NORECOVERY optional verwendet werden. Wenn die Datenbank beschädigt ist, verwenden Sie entweder WITH CONTINUE_AFTER_ERROR oder WITH NO_TRUNCATE.
BACKUP LOG database_name TO <backup_device> [WITH { CONTINUE_AFTER_ERROR | NO_TRUNCATE }Wichtig: Es wird empfohlen, die Verwendung von NO_TRUNCATE zu vermeiden, es sei denn, die Datenbank ist beschädigt.
In der folgenden Tabelle sind diese Optionen zusammengefasst.
Option BACKUP LOG
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 ist ebenfalls angegeben.
{ CONTINUE_AFTER_ERROR | NO_TRUNCATE }
Verwenden Sie NO_TRUNCATE oder CONTINUE_AFTER_ERROR nur dann, wenn Sie das Fragment einer beschädigten Datenbank sichern.
Hinweis:
Wenn Sie das Protokollfragment in einer beschädigten Datenbank sichern, sind einige der Metadaten, die normalerweise in Protokollsicherungen erfasst werden, eventuell nicht verfügbar. Weitere Informationen finden Sie nachstehend unter "Sicherungen des Protokollfragments mit unvollständigen Sicherungsmetadaten".
So erstellen Sie eine Transaktionsprotokollsicherung bei beschädigter Datenbank
- Vorgehensweise: Sichern des Transaktionsprotokolls bei beschädigter Datenbank (Transact-SQL)
- Vorgehensweise: Sichern eines Transaktionsprotokolls (SQL Server Management Studio)
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 msdb fü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 1 festgelegt. Auch in der Ausgabe von RESTORE HEADERONLY ist HasIncompleteMetadata auf 1 festgelegt.
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
Wiederherstellen ohne Verwendung einer Sicherung des Protokollfragments
In den folgenden Wiederherstellungsszenarien ist keine Sicherung des Protokollfragments erforderlich:
- Wiederherstellen einer Datenbank bis zu einem Zeitpunkt, der in einer früheren Protokollsicherung enthalten ist.
Eine Protokollfragmentsicherung ist unnötig, wenn Sie eine Datenbank wiederherstellen und in jeder RESTORE-Anweisung der Wiederherstellungssequenz die Option STOPAT, STOPATMARK oder STOPBEFOREMARK angeben.
So stellen Sie eine Datenbank bis zu einem früheren Zeitpunkt wieder her- Informationen zum Verwenden von Transact-SQL, um eine Wiederherstellung bis zu einem bestimmten Zeitpunkt auszuführen, finden Sie unter Vorgehensweise: Wiederherstellen bis zu einem bestimmten Zeitpunkt (Transact-SQL), Wiederherstellen bis zu einer markierten Transaktion oder Wiederherstellen zu einer Protokollfolgenummer (LSN).
- Informationen zum Verwenden von SQL Server Management Studio finden Sie unter Vorgehensweise: Wiederherstellen bis zu einem bestimmten Zeitpunkt (SQL Server Management Studio) oder Vorgehensweise: Wiederherstellen einer Datenbank bis zu einer markierten Transaktion (SQL Server Management Studio).
- Wiederherstellen einer Kopie einer Datenbank an einem neuen Speicherort
Wenn Sie eine Datenbank wiederherstellen, ist die Verwendung desselben Datenbanknamens nur dann möglich, wenn Sie die Datenbank auf einer anderen Serverinstanz wiederherstellen, beispielsweise wenn Sie eine Spiegeldatenbank für die Datenbankspiegelung oder eine sekundäre Datenbank für den Protokollversand erstellen. Wenn Sie eine Datenbank auf dieselbe Serverinstanz verschieben, müssen Sie einen neuen Namen für die Datenbank angeben.
So stellen Sie eine Datenbank an einem neuen Speicherort wieder her- Bei Verwendung von Transact-SQL geben Sie in jeder RESTORE-Anweisung der Wiederherstellungssequenz die Option MOVE an. Weitere Informationen finden Sie unter Vorgehensweise: Wiederherstellen einer Datenbank an einem neuen Speicherort und unter einem neuen Namen (Transact-SQL) oder Vorgehensweise: Wiederherstellen von Dateien an einem neuen Speicherort (Transact-SQL).
- Bei Verwendung von SQL Server Management Studio geben Sie den neuen Speicherort der einzelnen Dateien im Feld Wiederherstellen als von Datenbank wiederherstellen (Seite Optionen) an. Weitere Informationen finden Sie unter Vorgehensweise: Wiederherstellen einer Datenbanksicherung (SQL Server Management Studio).
- Vollständiges Ersetzen (Überschreiben) der Datenbank
Vorsicht: Die Wiederherstellung mit der Option REPLACE sollte nur in Ausnahmefällen und von erfahrenen Datenbankadministratoren – und auch dann nur nach sorgfältiger Überlegung – verwendet werden. Weitere Informationen finden Sie unter Verwenden der Option REPLACE.
Siehe auch
Konzepte
Kopiesicherungen
Datenbankstatus
Anwenden von Transaktionsprotokollsicherungen
Erstellen von Transaktionsprotokollsicherungen
Andere Ressourcen
Hilfe und Informationen
Informationsquellen für SQL Server 2005
Änderungsverlauf
Version | Verlauf |
---|---|
17. Juli 2006 |
|