Transaktionsprotokollsicherungen (SQL Server)

Gilt für: SQL Server

Dieser Artikel ist nur für SQL Server-Datenbanken relevant, die das vollständige oder das massenprotokollierte Wiederherstellungsmodell verwenden. In diesem Artikel wird das Sichern des Transaktionsprotokolls einer SQL Server-Datenbank erläutert.

Vor dem Erstellen von Protokollsicherungen muss bereits mindestens eine vollständige Sicherung durchgeführt worden sein. Danach kann das Transaktionsprotokoll jederzeit gesichert werden, es sei denn, das Protokoll wurde gerade gesichert.

Es empfiehlt sich, Protokollsicherungen häufig auszuführen, damit auf diese Weise die Gefahr von Datenverlusten verringert und das Abschneiden des Transaktionsprotokolls angewendet werden kann.

In der Regel erstellt ein Datenbankadministrator von Zeit zu Zeit eine vollständige Datenbanksicherung, z. B. einmal pro Woche, sowie optional in kürzeren Abständen eine Reihe von differenziellen Datenbanksicherungen, z. B. täglich. Unabhängig von den Datenbanksicherungen sichert der Datenbankadministrator das Transaktionsprotokoll sehr häufig. Der optimale Abstand zwischen Sicherungen ist abhängig von Faktoren wie der Wichtigkeit der Daten, der Größe der Datenbank und der Arbeitsauslastung des Servers. Weitere Informationen zur Implementierung einer guten Strategie finden Sie in diesem Artikel unter Empfehlungen.

Funktionsweise einer Protokollsicherungssequenz

Die Sequenz der Transaktionsprotokollsicherungen ( Protokollkette ) ist unabhängig von den Datensicherungen. Stellen Sie sich z. B. folgende Ereignissequenz vor.

Zeit Ereignis
8:00 Uhr Sichern der Datenbank.
12:00 Uhr Sichern des Transaktionsprotokolls.
16:00 Uhr Sichern des Transaktionsprotokolls.
18:00 Uhr Sichern der Datenbank.
20:00 Sichern des Transaktionsprotokolls.

Die um 8:00 Uhr erstellte Transaktionsprotokollsicherung enthält Transaktionsprotokoll-Datensätze von 16:00 bis 20:00 Uhr, wobei die Gesamte Datenbanksicherung um 18:00 Uhr erstellt wurde. Die Reihenfolge der Transaktionsprotokollsicherungen ist fortlaufend, von der ersten vollständigen Datenbanksicherung, die um 8:00 Uhr morgens erstellt wird, bis zur letzten Transaktionsprotokollsicherung, die um 20:00 Uhr erstellt wird. Informationen zum Anwenden dieser Protokollsicherungen finden Sie im Beispiel unter Anwenden von Transaktionsprotokollsicherungen (SQL Server).

Empfehlungen

Wenn ein Transaktionsprotokoll beschädigt wird, gehen die Änderungen seit der letzten gültigen Sicherung verloren. Daher empfehlen wir dringend, Protokolldateien auf einem fehlertoleranten Datenträger zu speichern.

Wenn eine Datenbank beschädigt ist oder in Kürze wiederhergestellt werden soll, ist es ratsam, eine Sicherung des Protokollfragments zu erstellen, damit Sie den aktuellen Stand der Datenbank wiederherstellen können.

Achtung

Bekanntes Problem: Bei Datenbanken mit speicheroptimierten Tabellen kann die Durchführung einer Transaktionsprotokollsicherung ohne Wiederherstellung und später das Ausführen einer Wiederherstellung eines Transaktionsprotokolls mit Wiederherstellung zu einem nicht reagierenden Datenbankwiederherstellungsprozess führen. Dieses Problem kann sich auch auf die Protokollversandfunktionalität auswirken. Um dieses Problem zu umgehen, kann die SQL-Server-Instanz vor dem Initiieren des Wiederherstellungsvorgangs neu gestartet werden.

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).

Führen Sie entsprechend Ihren Geschäftsanforderungen ausreichend häufige Protokollsicherungen aus. Die Häufigkeit sollte sich danach richten, inwiefern Sie Datenverlust (beispielsweise durch einen beschädigten Protokollspeicher) 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. Denken Sie bei der Implementierung Ihrer Wiederherstellungsstrategie an die erforderliche Recovery Time Objective (RTO) und Recovery Point Objective (RPO) und insbesondere an den Zeitplan für die Protokollsicherung.

  • 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.

Wichtig

Um die Anzahl der zum Wiederherstellen benötigten Protokollsicherungen zu begrenzen, ist es wichtig, Daten regelmäßig zu sichern. Beispielsweise können Sie eine wöchentliche vollständige Datenbanksicherung und tägliche differenzielle Datenbanksicherungen planen.
Nicht vergessen: Denken Sie bei der Implementierung Ihrer Wiederherstellungsstrategie an die erforderliche RTO und RPO und insbesondere an den Zeitplan für die vollständige differenzielle Datenbanksicherung.