Vor- und Nachteile von SQL Server-Sicherungsstrategien und den entsprechenden Verwendungsszenarien

10

Soweit ich weiß, gibt es drei Möglichkeiten, Ihre SQL Server-Datenbank zu sichern

  1. Vollständige Sicherung
  2. Differenzielle Sicherung
  3. Protokollversand

Was sind die Vor- und Nachteile jeder Strategie und in welchen Situationen sollten sie eingesetzt werden?

Greg B.
quelle

Antworten:

14

Der Protokollversand ist kein Sicherungsszenario. Es ist ein halbhohes Verfügbarkeitsszenario.
Für Sicherungen gibt es vollständige, differenzielle und Transaktionsprotokollsicherungen. Sie sollten alle zusammen verwendet werden. Ihre SLA bestimmt, wie Sie sie verwenden. Die meisten typischen Szenarien sind vollständige Sicherungen, beispielsweise um Mitternacht, Diff-Sicherungen um 12.00 Uhr und Transaktionsprotokollsicherungen alle 30 oder 15 Minuten.

Und denken Sie daran: Sie haben kein gültiges Backup, bis Sie es wiederherstellen, um zu testen, ob es in Ordnung ist.

Mladen Prajdic
quelle
5

Es gibt wohl kein Konzept für eine Sicherungsstrategie: Sie haben eine Wiederherstellungsstrategie , da dies bestimmt, wie lange es dauert, bis Sie wieder in Betrieb sind *.

Alle Strategien erfordern eine vollständige Sicherung, um alle nachfolgenden Wiederherstellungen von Differential- und / oder Protokollsicherungen zu ermöglichen.

In der Praxis können Sie eine vollständige Sicherung von vor 6 Monaten mit 15-minütigen Protokollsicherungen erstellen. Sie müssen jedoch jede Protokollsicherung von der letzten vollständigen Sicherung anwenden .

Als zufälliges Beispiel könnte ein Szenario wöchentlich voll sein, täglich differenziell, Protokoll 15 Minuten.

Das Sicherungsintervall bestimmt, wie viele Daten Sie im schlimmsten Fall verlieren: 15-minütige Protokollsicherungen führen zu einem Datenverlust zwischen 1 Sekunde und 14 Minuten, 59 Sekunden, durchschnittlich 7,5 Minuten. Ist das akzeptabel?

Der Protokollversand erfolgt im Warm-Standby-Modus mit manuellem Failover: Es handelt sich nicht um ein Backup, sondern um eine Hochverfügbarkeitsoption.

gbn
quelle
3

Es gibt keine Strategie, die zu jeder Situation passt. Es ist jedoch wichtig zu verstehen, was Ihnen zur Verfügung steht. Vollständige Sicherungen sind genau das, wonach sie klingen: eine vollständige Sicherung Ihrer Datenbank abzüglich des Transaktionsprotokolls. Differenzielle Sicherungen sind Sicherungen von Änderungen in den Datendateien seit der letzten vollständigen Sicherung. Transaktionsprotokollsicherungen sichern alle Transaktionen, die seit der letzten Transaktionsprotokollsicherung im Transaktionsprotokoll gespeichert sind. Mit Transaktionsprotokollsicherungen können Sie zu einem bestimmten Zeitpunkt wiederherstellen. Wenn dies erforderlich ist, müssen Sie Ihren Wiederherstellungsmodus auf "Vollständig" setzen und regelmäßige Transaktionsprotokollsicherungen durchführen, je nachdem, wie viele Daten Sie im Falle einer Wiederherstellungssituation verlieren möchten.

Beim Umgang mit Transaktionsprotokollsicherungen ist es wichtig zu verstehen, was eine Protokollkette ist. In meinen Worten ist eine Protokollkette die Reihe von Sicherungen, die wiederhergestellt werden müssen, um Ihre Datenbank zu einem bestimmten Zeitpunkt wiederherzustellen. Um mit der Wiederherstellung von Transaktionsprotokollen zu beginnen, müssen Sie zuerst eine vollständige Sicherung mit der Option WITH NORECOVERY wiederherstellen. Wenn Sie auch differenzielle Sicherungen durchführen, möchten Sie die letzte differenzielle Sicherung vor dem Zeitpunkt wiederherstellen, zu dem Sie die Verwendung derselben WITH NORECOVERY-Option wiederherstellen möchten. Zu diesem Zeitpunkt müssen Sie die Transaktionsprotokollsicherungen nacheinander mit der Option WITH NORECOVERY für alle Sicherungen mit Ausnahme der endgültigen Sicherung wiederherstellen. Weitere Informationen zu Wiederherstellungen zu bestimmten Zeitpunkten finden Sie unter diesem Link. http://msdn.microsoft.com/en-us/library/ms175093.aspx

Wie bereits erwähnt, ist der Protokollversand keine Sicherungsstrategie, kann jedoch im Falle einer Notfallwiederherstellungssituation die Wiederherstellungszeiten erheblich verkürzen. Ein Problem, auf das Sie achten müssen, ist, dass alle Replikationsveröffentlichungen per Skript an den Protokollversand-Server gesendet und initialisiert werden müssen, damit die Replikation wie vor der Katastrophe funktioniert. Bei größeren Veröffentlichungen kann dies zu einer erheblichen Verlängerung der Zeit führen, die für die Wiederherstellung des Produktionsniveaus erforderlich ist.

Hoffe das hilft,

Matt

Matt M.
quelle
2

Ich zweiter Mladen Prajdic. Dieser Artikel hilft Ihnen bei der Auswahl der richtigen Sicherungsstrategie in Abhängigkeit vom Wiederherstellungsmodell der Datenbanken.

Nomade
quelle
2

Dies sind keine Sicherungsstrategien für SQL Server. Vollständige und differenzielle Sicherungen sind Arten von Sicherungen, die Sie für eine SQL Server-Datenbank durchführen können, während der Protokollversand eine Hochverfügbarkeitsstrategie ist (indem Sie Protokollsicherungen zu einem geplanten Zeitpunkt von einem Server auf einen anderen verschieben und diese beiden Datenbanken bis zum synchronisieren Limit Ihrer Backups).

Nette Infos zu Disaster Recovery (Backup & Restore :-)) finden Sie auf MSDN: hier und hier . Kurz gesagt, Sie müssen auswählen, wie viele Daten Sie im Falle eines Fehlers aus Sicherungen wiederherstellen können. Ein vernünftiges Beispiel für eine Sicherungsstrategie wäre eine tägliche vollständige Sicherung und stündliche Protokollsicherungen (dies hängt von Ihren Anforderungen ab). In diesem Fall könnten Sie also die Datenbank aus der vollständigen Sicherung + der gesamten täglichen Protokollsicherung wiederherstellen.

Eine weitere nette Referenz zu DR finden Sie auf Simple_Talk .

Marian
quelle
1

Natürlich müssen Sie nicht nur Ihre Datenbank wiederherstellen, sondern es erfolgt auch eine Wiederherstellung im Kontext des Servers und der Anwendung, zu der die Datenbank gehört. Ich habe es selbst noch nicht verwendet, aber Data Protection Manager möchte bei Bedarf eine umfassendere Aufgabe übernehmen.

Samuel Druker
quelle
-1

Am besten verwenden Sie alle drei Sicherungstypen zusammen. Natürlich können Sie die differenzielle Sicherung der Transaktionsprotokollsicherung ignorieren. Alles hängt von Ihrer Datenbank ab, wie schnell sie wächst, wie häufig Sie Änderungen an Ihrer Datenbank und anderen vornehmen. Überlegen Sie sich vor der Auswahl Ihres Sicherungsplans, wie viele Daten Sie verlieren möchten. Wie viel Zeit können Sie für die Wiederherstellung Ihrer Datenbank aufwenden?

Wenn Ihre Datenbank schnell wächst, können Sie beispielsweise die folgende SQL Server-Sicherungsstrategie verwenden: vollständige Sicherung - einmal täglich, differenzielle Sicherungen - alle zwei Stunden und Transaktionsprotokollsicherungen - alle 20 Minuten. In diesem Fall verlieren Sie im Fehlerfall nicht mehr als 19 Minuten Ihrer Arbeit. Ein weiteres Beispiel: Wenn Ihre Datenbank langsam wächst, können Sie einmal täglich eine vollständige Sicherung durchführen, alle sechs Stunden eine differenzielle Sicherung durchführen und jede Stunde eine Transaktionsprotokollsicherung durchführen.

Noch ein Tipp - um sicherzugehen, dass Ihre Datenbank sicher ist, stellen Sie von Zeit zu Zeit Ihre Backups auf einem Testserver wieder her.

Alexandr Omelchenko
quelle