Verwenden von Transaktionsprotokollsicherungen
Dieses Thema ist nur für Datenbanken relevant, von denen das vollständige oder massenprotokollierte Wiederherstellungsmodell verwendet wird.
Dieses Thema stellt Konzepte zum Sichern und Wiederherstellen (Anwenden) von Transaktionsprotokollen vor. Beim vollständigen Wiederherstellungsmodell und beim massenprotokollierten Wiederherstellungsmodell müssen zur Wiederherstellung von Daten routinemäßige Sicherungen der Transaktionsprotokolle (Protokollsicherungen) ausgeführt werden. In SQL Server 2005 und höheren Versionen können Sie das Protokoll sichern, während eine vollständige Sicherung ausgeführt wird.
Bevor Sie die erste Protokollsicherung erstellen können, müssen Sie eine vollständige Sicherung erstellen, z. B. eine Datenbanksicherung oder die erste von mehreren Dateisicherungen. Die Wiederherstellung einer Datenbank, für die nur Dateisicherungen verwendet werden, kann komplex werden. Deshalb wird empfohlen, wenn möglich mit einer vollständigen Datenbanksicherung zu beginnen. Anschließend ist das regelmäßige Sichern des Transaktionsprotokolls erforderlich. Dadurch wird nicht nur die Gefahr von Datenverlusten minimiert, sondern es wird auch die Kürzung des Transaktionsprotokolls ermöglicht. Üblicherweise wird das Transaktionsprotokoll nach jeder konventionellen Protokollsicherung abgeschnitten. Die Protokollkürzung kann jedoch auch verzögert werden. Weitere Informationen finden Sie unter Faktoren, die das Abschneiden des Protokolls verzögern können..
Es wird empfohlen, entsprechend Ihren Geschäftsanforderungen ausreichend häufige Protokollsicherungen auszuführen. Die Häufigkeit sollte sich danach richten, inwiefern Sie Datenverlust (beispielsweise durch ein beschädigtes Protokolllaufwerk) tolerieren können. Beim Festlegen einer geeigneten Häufigkeit gilt es, einen Kompromiss aus Ihrer Toleranz gegenüber der Gefahr von Datenverlust und Ihrer Fähigkeit zum Speichern, Verwalten und zum möglichen Wiederherstellen von Protokollsicherungen zu finden. Es kann ausreichen, alle 15 bis 30 Minuten eine Protokollsicherung auszuführen. Wenn es für Ihr Geschäft erforderlich ist, die Gefahr des Datenverlusts zu minimieren, können Sie Protokollsicherungen häufiger ausführen. Häufigere Protokollsicherungen bieten zusätzlich den Vorteil, dass das Protokoll häufiger abgeschnitten wird, wodurch kleinere Protokolldateien entstehen.
Damit die Anzahl der wiederherzustellenden Sicherungen eingeschränkt wird, müssen Sie Ihre Daten unbedingt regelmäßig sichern. Sie könnten z. B. eine wöchentliche vollständige Datenbanksicherung und tägliche differenzielle Datenbanksicherungen planen.
Hinweis |
---|
Standardmäßig wird bei jedem erfolgreichen Sicherungsvorgang dem SQL Server-Fehlerprotokoll und dem Systemereignisprotokoll ein Eintrag hinzugefügt. Wenn Sie das Protokoll regelmäßig sichern, kann die Anzahl dieser Erfolgsmeldungen schnell ansteigen, d. h., es entstehen sehr große Fehlerprotokolle, die das Suchen nach anderen Meldungen erschweren können. In solchen Fällen können Sie diese Protokolleinträge mithilfe des Ablaufverfolgungsflags 3226 unterdrücken, wenn keines der Skripts von diesen Einträgen abhängig ist. Weitere Informationen finden Sie unter Ablaufverfolgungsflags (Transact-SQL). |
Die Protokollkette
Eine fortlaufende Abfolge von Protokollsicherungen wird als Protokollkette bezeichnet. Eine Protokollkette beginnt mit einer vollständigen Sicherung der Datenbank. Gewöhnlich wird eine neue Protokollkette nur gestartet, wenn die Datenbank zum ersten Mal gesichert wird oder wenn vom einfachen zum vollständigen oder massenprotokollierten Wiederherstellungsmodell gewechselt wird.
Sofern Sie beim Erstellen einer vollständigen Datenbanksicherung nicht auswählen, dass vorhandene Sicherungssätze überschrieben werden, bleibt die vorhandene Protokollkette intakt. Wenn die Protokollkette intakt ist, können Sie die Datenbank aus jeder vollständigen Datenbanksicherung im Mediensatz wiederherstellen, gefolgt von allen folgenden Protokollsicherungen bis zum Wiederherstellungspunkt. Der Wiederherstellungspunkt kann das Ende der letzten Protokollsicherung oder ein bestimmter Wiederherstellungspunkt in einer der Protokollsicherungen sein.
Um eine Datenbank bis zu dem Punkt, an dem ein Fehler aufgetreten ist, wiederherzustellen, muss die Protokollkette intakt sein. Das heißt, eine ununterbrochene Sequenz von Transaktionsprotokollsicherungen muss sich bis zum Zeitpunkt des Fehlers erstrecken. Wo diese Protokollsequenz anfangen muss, richtet sich nach dem Typ der Datensicherungen, die Sie wiederherstellen: Datenbank-, Teil- oder Dateisicherung. Bei einer Datenbank- oder Teilsicherung muss die Sequenz der Protokollsicherungen am Ende einer Datenbank- oder Teilsicherung beginnen. Bei einer Gruppe von Dateisicherungen muss die Sequenz der Protokollsicherungen mit dem Anfang einer vollständigen Gruppe von Dateisicherungen beginnen.
Wenn Sie ausschließlich Dateisicherungen verwenden, müssen Sie das Protokoll vom Beginn der ersten vollständigen Dateisicherung an sichern. Sie können sofort nach der ersten vollständigen Dateisicherung mit der Ausführung von Protokollsicherungen beginnen. Es wird empfohlen, zu diesem Zeitpunkt zu beginnen, da die erste Protokollsicherung sehr viel Zeit in Anspruch nehmen kann. Während das Protokoll gesichert wird, sichern Sie die anderen Dateien. Wenn die Datenbank ausschließlich anhand von Dateisicherungen wiederhergestellt werden soll, muss der Satz vollständiger Dateisicherungen durch eine oder mehrere Protokollsicherungen erweitert werden, die das Intervall zwischen der ersten und der letzten Dateisicherung abdecken.
Hinweis |
---|
Wenn Sie die Sicherung identifizieren möchten, die in einem Sicherungssatz die Protokollkette startet, fragen Sie die begins_log_chain-Spalte der backupset-Tabelle ab, oder führen Sie RESTORE HEADERONLY auf dem Sicherungsmedium aus, um die BeginsLogChain-Spalte im Resultset anzuzeigen. |
Das regelmäßige Erstellen von Transaktionsprotokollsicherungen ist unbedingt erforderlich. Mit einer Protokollsicherung können Sie nicht nur die gesicherten Transaktionen wiederherstellen; damit wird auch das Protokoll abgeschnitten, um die gesicherten Protokolldatensätze aus der Protokolldatei zu entfernen. Falls Sie das Protokoll nicht häufig genug sichern, können sich die Protokolldateien ansammeln. Weitere Informationen zum Umgang mit einem vollständigen Transaktionsprotokoll finden Sie unter Problembehandlung bei vollen Transaktionsprotokollen (Fehler 9002).
Wichtig |
---|
Wenn eine Protokollsicherung verloren geht oder beschädigt wird, starten Sie eine neue Protokollkette, indem Sie eine vollständige oder differenzielle Datenbanksicherung erstellen und dann das Transaktionsprotokoll sichern, um eine neue Protokollkette zu starten. Es empfiehlt sich, Transaktionsprotokollsicherungen, die der fehlenden Transaktionsprotokollsicherung vorausgehen, beizubehalten, falls Sie die Datenbank einmal bis zu einem bestimmten Zeitpunkt innerhalb dieser Sicherungen wiederherstellen möchten. Informationen zum Schutz Ihrer Sicherungen finden Sie unter Sicherheitsüberlegungen für Sicherungen und Wiederherstellungen. |
Informationen zum Erstellen von Protokollsicherungen finden Sie unter Erstellen von Transaktionsprotokollsicherungen und Sicherungen des Protokollfragments.
Wie werden Protokollsicherungen verwendet?
Beim Wiederherstellen einer Protokollsicherung wird ein Rollforward für die im Transaktionsprotokoll aufgezeichneten Änderungen ausgeführt, um den genauen Zustand der Datenbank zu dem Zeitpunkt, als der Protokollsicherungsvorgang gestartet wurde, wiederherzustellen. Wenn Sie eine Datenbank wiederherstellen, müssen Sie die Protokollsicherungen wiederherstellen, die nach der vollständigen Datenbanksicherung erstellt wurden, die Sie wiederherstellen, oder die Protokollsicherungen ab dem Start der ersten Dateisicherung, die Sie wiederherstellen. Nach dem Wiederherstellen der aktuellsten Daten oder der aktuellsten differenziellen Sicherung müssen Sie normalerweise eine Reihe von Protokollsicherungen wiederherstellen, bis Sie den Wiederherstellungspunkt erreichen. Dann stellen Sie die Datenbank wieder her. Dabei wird ein Rollback aller Transaktionen ausgeführt, die beim Start der Wiederherstellung unvollständig waren, und die Datenbank wird online geschaltet. Nach der Wiederherstellung der Datenbank können keine weiteren Sicherungen wiederhergestellt werden.
Wichtig |
---|
Zur Vermeidung des Datenverlusts vor einer Offlinewiederherstellung oder nach einem Fehler empfehlen wir, das Protokollfragment zu sichern, um alle Protokolldatensätze zu erfassen, die noch nicht gesichert wurden. Weitere Informationen finden Sie unter Sicherungen des Protokollfragments. |
Siehe auch