Anwenden von Transaktionsprotokollsicherungen (SQL Server)

Gilt für:SQL Server

Dieses Thema ist nur für das vollständige und für das massenprotokollierte Wiederherstellungsmodell relevant.

In diesem Thema wird das Anwenden von Transaktionsprotokollsicherungen als Teil der Wiederherstellung einer SQL Server-Datenbank beschrieben.

Anforderungen zum Wiederherstellen von Transaktionsprotokollsicherungen

Für das Anwenden einer Transaktionsprotokollsicherung müssen folgende Voraussetzungen erfüllt sein:

  • Ausreichende Protokollsicherungen für eine Wiederherstellungssequenz: Es müssen ausreichend Protokolldatensätze gesichert sein, damit eine Wiederherstellungssequenz abgeschlossen werden kann. Die erforderlichen Protokollsicherungen (einschließlich der Sicherung des Protokollfragments , sofern erforderlich) müssen vor dem Start einer Wiederherstellungssequenz zur Verfügung stehen.

  • Richtige Wiederherstellungsreihenfolge: Als Erstes muss die unmittelbar vorherige vollständige oder differenzielle Datenbanksicherung wiederhergestellt werden. Alle nach dieser vollständigen oder differenziellen Datenbanksicherung erstellten Transaktionsprotokolle müssen dann in chronologischer Reihenfolge wiederhergestellt werden. Wenn eine Transaktionsprotokollsicherung in dieser Protokollkette verloren gegangen oder beschädigt ist, können Sie nur Transaktionsprotokolle vor dem fehlenden wiederherstellen.

  • Noch nicht wiederhergestellte Datenbank: Die Datenbank kann erst wiederhergestellt werden, nachdem das letzte Transaktionsprotokoll angewendet wurde. Wenn Sie die Datenbank nach dem Wiederherstellen einer der Zwischen-Transaktionsprotokollsicherungen (einer Sicherung vor dem Ende der Protokollkette) wiederherstellen, können Sie die Datenbank nicht zu einem späteren Zeitpunkt als diesem wiederherstellen, ohne die gesamte Wiederherstellungssequenz, beginnend mit der vollständigen Datenbanksicherung, neu zu starten.

    Tipp

    Eine bewährte Methode besteht darin, alle Protokollsicherungen wiederherzustellen (RESTORE LOG *database_name* WITH NORECOVERY). Nach dem Wiederherstellen der letzten Protokollsicherung stellen Sie die Datenbank in einem separaten Vorgang wieder her: (RESTORE DATABASE *database_name* WITH RECOVERY).

Wiederherstellungs- und Transaktionsprotokolle

Wenn der Wiederherstellungsvorgang abgeschlossen und die Datenbank wiederhergestellt wurde, wird der Wiederherstellungsprozess ausgeführt, um die Integrität der Datenbank zu gewährleisten. Informationen zum Wiederherstellungsprozess finden Sie unter (SQL Server).

Nach Abschluss des Wiederherstellungsprozesses wird die Datenbank online geschaltet, und es können keine weiteren Transaktionsprotokollsicherungen auf die Datenbank angewendet werden. So kann z. B. eine Reihe von Transaktionsprotokollsicherungen eine lang andauernde Transaktion enthalten. Der Start der Transaktion wird in der ersten Transaktionsprotokollsicherung, das Ende der Transaktion jedoch in der zweiten Transaktionsprotokollsicherung aufgezeichnet. Es gibt keinen Datensatz für einen Commit- oder Rollbackvorgang in der ersten Transaktionsprotokollsicherung. Wenn ein Wiederherstellungsvorgang nach dem Anwenden der ersten Transaktionsprotokollsicherung ausgeführt wird, wird die lang andauernde Transaktion als unvollständig behandelt, und für die in der ersten Transaktionsprotokollsicherung aufgezeichneten Datenänderungen dieser Transaktion wird ein Rollback ausgeführt. SQL Server lässt nicht zu, dass die zweite Transaktionsprotokollsicherung nach diesem Punkt angewendet wird.

Hinweis

Unter bestimmten Umständen können Sie eine Datei während der Protokollwiederherstellung explizit hinzufügen.

Verwenden von Protokollsicherungen zum Wiederherstellen des Zustands vor dem Fehler

Nehmen Sie die folgende Ereignissequenz an.

Zeit Ereignis
8:00 Uhr Sichern der Datenbank zum Erstellen einer vollständigen Datenbanksicherung.
12:00 Uhr Sichern des Transaktionsprotokolls.
16:00 Uhr Sichern des Transaktionsprotokolls.
18:00 Uhr Sichern der Datenbank zum Erstellen einer vollständigen Datenbanksicherung.
20:00 Uhr Sichern des Transaktionsprotokolls.
21:45 Uhr Fehler tritt auf.

Eine Erläuterung dieser Beispielsequenz von Sicherungen finden Sie unter Transaktionsprotokollsicherungen (SQL Server).

Um die Datenbank am 9:45 Uhr (Fehlerpunkt) wiederherzustellen, kann eine der folgenden alternativen Verfahren verwendet werden:

Alternative 1: Wiederherstellen der Datenbank mithilfe der letzten vollständigen Datenbanksicherung

  1. Erstellen Sie eine Sicherung des Protokollfragments des aktuell aktiven Transaktionsprotokolls zum Zeitpunkt des Fehlers.

  2. Stellen Sie die vollständige Datenbanksicherung von 8:00 Uhr nicht wieder her. Stellen Sie stattdessen die neuere Vollständige Datenbanksicherung von 6:00 P.M. wieder her, und wenden Sie dann die 8:00 Uhr-Protokollsicherung und die Tailprotokollsicherung an.

Alternative 2: Wiederherstellen der Datenbank mithilfe einer früheren vollständigen Datenbanksicherung

Dieser alternative Prozess ist nützlich, wenn Sie ein Problem daran hindern, die vollständige Datenbanksicherung von 6:00 P.M. zu verwenden. Dieser Vorgang dauert länger als das Wiederherstellen der vollständigen Datenbanksicherung von 18:00 Uhr.

  1. Erstellen Sie eine Sicherung des Protokollfragments des aktuell aktiven Transaktionsprotokolls zum Zeitpunkt des Fehlers.

  2. Stellen Sie die vollständige Datenbanksicherung von 8:00 A.M wieder her, und stellen Sie dann alle vier Transaktionsprotokollsicherungen in Sequenz wieder her. Dadurch wird ein Rollforward für alle abgeschlossenen Transaktionen bis 21:45 Uhr ausgeführt.

    Diese Alternative verdeutlicht, welche redundante Sicherheit eine zwischen eine Folge vollständiger Datenbanksicherungen geschaltete Kette von Transaktionsprotokollsicherungen bietet.

In einigen Fällen können Sie auch mit Transaktionsprotokollen eine Datenbank zu einem bestimmten Zeitpunkt wiederherstellen. Weitere Informationen finden Sie unter Wiederherstellen einer SQL Server-Datenbank zu einem Zeitpunkt (vollständiges Wiederherstellungsmodell).For more information, Restore a SQL Server Database to a Point in Time (Full Recovery Model)

Zugehörige Aufgaben

So wenden Sie eine Transaktionsprotokollsicherung an

So stellen Sie einen Wiederherstellungspunkt wieder her

So stellen Sie eine Datenbank wieder her, nachdem Sie Sicherungen mit WITH NORECOVERY wiederhergestellt haben

Siehe auch

Das Transaktionsprotokoll [SQL Server]
Handbuch zur Architektur und Verwaltung von Transaktionsprotokollen in SQL Server