Transaktionsprotokollsicherungen (SQL Server)

Gilt für:SQL Server

Dieser Artikel ist nur für SQL Server-Datenbanken relevant, die die vollständigen oder massenprotokollierten Wiederherstellungsmodelle verwenden. In diesem Artikel wird das Transaktionsprotokoll einer SQL Server-Datenbank gesichert.

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 Empfehlungen in diesem Artikel.

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 Transaktionsprotokolldatensätze von 14:00 bis 18:00 Uhr, wobei die Gesamte Datenbanksicherung um 18:00 Uhr erstellt wurde. Die Sequenz von Transaktionsprotokollsicherungen ist kontinuierlich, von der ursprünglichen vollständigen Datenbanksicherung, die um 8:00 Uhr erstellt wurde, bis zur letzten Transaktionsprotokollsicherung, die um 18:00 Uhr erstellt wurde. 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 Sie die Datenbank wiederherstellen möchten, empfiehlt es sich, eine Tailprotokollsicherung zu erstellen, damit Sie die Datenbank zum aktuellen Zeitpunkt 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 der 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 Ablaufverfolgungskennzeichnungs 3226 unterdrücken, wenn keines Ihrer Skripts von diesen Einträgen abhängt. 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 und insbesondere des Protokollsicherungsrhythmens über das erforderliche Wiederherstellungszeitziel (RTO) und das Wiederherstellungspunktziel (Recovery Point Objective , RPO) nach.

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