Was ist ein guter SQL Server-Sicherungszeitplan?

17

Es scheint eine Fülle von Informationen zum Einrichten von Sicherungsaufgaben zu geben, aber nicht viele Informationen zur Gesamtansicht von Datenbanksicherungen. Zumindest ist es schwierig, eine Suchmaschinenabfrage zu formulieren, die diese Informationen enthält. Ich weiß, dass es drei verschiedene Arten von Sicherungen gibt:

  • Vollständige Datenbank-Backups
  • Differenzielle Datenbanksicherungen
  • Transaktionsprotokoll-Backups

Anscheinend soll ich alle drei benutzen. Ist das ein sinnvoller Zeitplan?

  • 1. jeden Monats - Führen Sie eine vollständige Datenbanksicherung durch.
  • Jeden Tag um Mitternacht - Führen Sie eine differenzielle Datenbanksicherung durch.
  • Alle 15 Minuten - Führen Sie eine Transaktionsprotokollsicherung durch .

Auf diese Weise würde ich, wenn meine Datenbank beispielsweise am 12. Fehlschlägt, einfach die vollständige Datenbanksicherung vom 1. Bis zum 12. Wiederherstellen, die 12 differenziellen Sicherungen vom 1. Bis zum 12 das Transaktionsprotokoll differenziert?).

Ist eine vollständige Datenbanksicherung in sich abgeschlossen? Kann ich nach einer vollständigen Datenbanksicherung am 1. Februar alle Dateien ab Januar löschen? Natürlich würde ich die Sets der letzten Monate für alle Fälle behalten, aber die Frage ist konzeptionell.

Atanamir
quelle

Antworten:

23

Wie bei allen Dingen in SQL Server kommt es darauf an.

Als Erstes müssen Sie sicherstellen, dass Sie verstehen, was die einzelnen Sicherungstypen tun.

Die Onlinedokumentation enthält alle Details , aber hier ist meine Zusammenfassung.

Eine vollständige Sicherung enthält alles in der Datenbank. Ein DIFFERENTIAL-Backup ist kumulativ und NICHT inkrementell. Wenn in Ihrem Beispiel Ihre Datenbank am 12. fehlgeschlagen ist, müssen Sie nur die vollständige Sicherung vom 1. und dann die letzte Differenz vom 12. wiederherstellen, gefolgt von allen Transaktionsprotokollsicherungen bis zum Fehlschlagen. Eine TRANSACTION LOG-Sicherung ist nur für Datenbanken erforderlich, die das vollständige oder massenprotokollierte Wiederherstellungsmodell verwenden. Wenn Sie das einfache Wiederherstellungsmodell verwenden, sind keine Transaktionsprotokollsicherungen erforderlich.

Jetzt haben wir das geklärt ... Das Entwerfen eines Sicherungsplans hängt wirklich davon ab, wie viele Daten Sie für die Wiederherstellung benötigen und wie schnell Sie sie im Falle einer Katastrophe wiederherstellen müssen. Ich würde empfehlen, jeden Tag mit einem vollständigen Backup zu beginnen. Sie können die Frequenz später jederzeit reduzieren. Denken Sie daran, dass die differenzielle Sicherung seit dem letzten vollständigen Backup kumulativ ist. Abhängig von der in Ihrer Datenbank vorgenommenen Änderung kann die differenzielle Sicherung nach einigen Tagen größer sein als die vollständige Sicherung. Wenn Sie jeden Tag eine vollständige Sicherung durchführen, müssen Sie möglicherweise überhaupt keine Differentiale verwenden. Sie können es jedoch immer noch einmal am Tag tun und um 12 Uhr mittags planen. Die Transaktionsprotokollsicherung sichert nur das Protokoll. Die Häufigkeit der Protokollsicherung bestimmt, wie viele Daten Sie im Falle eines Ausfalls verlieren möchten. Wenn Sie Ihre Protokollsicherung alle 15 Minuten ausführen, Dann würden Sie erwarten, bis zu den letzten 15 Minuten an Daten zu verlieren, die sich geändert haben. 15 Minuten sind eine gute Frequenz, aber alle 30 Minuten funktionieren perfekt für meine Umgebung.

Wie ich bereits sagte, hängt alles von Ihrer Umgebung ab. Denken Sie daran, den Sicherungszeitplan auf einem anderen Server zu testen, nachdem Sie ihn erstellt und eingerichtet haben. Üben Sie das Wiederherstellen Ihrer vollständigen Sicherungen, Diff-Sicherungen und Protokollsicherungen, damit Sie wissen, dass alles so funktioniert, wie Sie es entworfen haben.

In der Onlinedokumentation finden Sie einige nützliche Informationen, wenn Sie Wartungspläne verwenden möchten. Wenn Sie jedoch wirklich Flexibilität wünschen, lesen Sie die Sicherungsskripts von Ola Hallengren .

Patrick Keisler
quelle
Danke für die tolle Antwort. Ich habe eine kleine Frage an Sie: Erstellen / organisieren Sie Ihre Indizes auch vor einer vollständigen Sicherung neu?
Atanamir
Ja, vor vollständigen Sicherungen ist eine gute Idee. Auf diese Weise enthält die vollständige Sicherung bei einem Datenbankfehler bereits alle Änderungen der Neuindizierung.
Patrick Keisler
In den meisten Fällen kann das aktive Protokoll nach dem Ausfall noch gesichert werden , sodass die Gefährdung durch Arbeitsausfälle minimal ist, selbst wenn Sie das Protokoll nur täglich sichern. Abgesehen davon gibt es normalerweise keinen Grund, es nicht häufig zu sichern.
BaldTot