Alternativen zur Netzwerksicherung

11

In unserer Umgebung gibt es einige Server, die sich in einer Always On Availability-Gruppe befinden, und einige, die eigenständig sind.

Normalerweise sichern wir auf einer Netzwerkfreigabe, aber wir haben kürzlich festgestellt, dass die Zeit, die benötigt wird, länger wird, wenn die Datenbanken größer werden, was das gesamte Netzwerk verlangsamt.

Das Skript von Ola hallengren wird mit Komprimierung und Aufteilung der Sicherungsdateien verwendet. Ich führe nur tägliche "vollständige" Backups durch. Die Sicherungen werden auf das EMC-Isilon-Laufwerk mit Netzwerkfreigabe übertragen.

Ich bin mit EMC DD Boost nie zufrieden. Die einzige Alternative besteht darin, eine lokale Sicherung durchzuführen und dann auf dieselbe Netzwerkfreigabe zu kopieren.

Gibt es einen anderen effizienten Weg als den oben genannten?

SQL_NoExpert
quelle
Sobald die Datenbank eine bestimmte Größe erreicht hat, können Daten nur noch über die Replikation gesichert werden. Aber es sieht so aus, als ob Ihre Situation noch nicht da ist. Trotzdem kein Schaden, der jetzt über Replikation recherchiert
Slebetman

Antworten:

10

Die von Ihnen erwähnte Alternative scheint die beste Wahl zu sein.

Was Sie tun können, ist ein zweistufiger Prozess:

  • Erstellen Sie native SQL Server-Sicherungen mit Komprimierung mithilfe der lokalen Sicherungslösung von Ola.
  • Verwenden Sie Robocopy, um die Übertragungen auf eine Netzwerkfreigabe durchzuführen. Dies ist entkoppelt und kann als geplante Windows-Aufgabe ausgeführt werden.

Auf diese Weise sind Ihre Backups lokal und schnell. Sie benötigen mehr Speicherplatz und natürlich Redundanz (was passiert, wenn die Sicherungsdiskette ausfällt - Sie möchten nicht alle Ihre Sicherungen verlieren).

Alternativ können Sie, wie von Max Vernon empfohlen, die Robokopie als Schritt im Sicherungsjob ausführen, um sicherzustellen, dass die Robokopie nur dann ausgeführt wird, wenn die Sicherung erfolgreich abgeschlossen wurde und sobald die Sicherung abgeschlossen ist. Die Sicherung ist dem gleichen Risiko ausgesetzt wie die Daten, solange sie lokal bleibt.

Testen Sie außerdem regelmäßig Ihre Wiederherstellungen, denn wenn Sie eine Sicherung nicht wiederherstellen können - welchen Zweck hat sie?

Lesen Sie auch meine Antwort auf SQL Backup zum Optimieren großer Datenbanken

Kin Shah
quelle
15

Es gibt Möglichkeiten, Backups zu optimieren , indem Sie mit verschiedenen Reglern wie MAXTRANSFERSIZE oder BUFFERCOUNT herumspielen oder die Datei streifen (was Sie bereits getan haben).

Das Problem ist, dass das Berühren dieser Regler immer noch dazu führen kann, dass die Grenzen Ihres Netzwerks und / oder Speichers überschritten werden und sie keinen wirklichen Einfluss auf die Sicherungszeit haben.

Ihre erste Aufgabe sollte darin bestehen, den gesicherten Speicher mithilfe von Crystal Disk Mark oder DiskSpd zu vergleichen . Das gibt Ihnen eine Vorstellung davon, wie schnell Sie erwarten können, dass Schreibvorgänge am besten sind.

Das nächste, was Sie testen müssen, sind Lesevorgänge von den Laufwerken, von denen Sie sichern. Wenn Sie ein Backup auf NUL ausführen , können Sie festlegen , wie lange nur der gelesene Teil Ihres Backups dauert , ohne es auf die Festplatte schreiben zu müssen.

Mit diesen beiden Zahlen können Sie anfangen, mit anderen Reglern zu spielen, um zu sehen, welche Ihnen am nächsten kommen, unabhängig davon, ob Ihr Sicherungsziel lokal oder vernetzt ist.

Erik Darling
quelle
9

Einige mögliche Lösungen:

  1. Der Wechsel von einer vollständigen Sicherung zu einer wöchentlichen vollständigen Sicherung und einem nächtlichen Differential kann eine einfache Lösung sein.
  2. Es gibt eine Reihe von leistungsbezogenen Parametern, die Sie in Olas Skripten anpassen können. Möglicherweise können Sie diese optimieren, um die gewünschte Leistung zu erzielen:

    • Blockgröße Geben Sie
      die physische Blockgröße in Byte an.

      Die BlockSize-Option in DatabaseBackup verwendet die BLOCKSIZEOption im SQL Server BACKUP-Befehl.

    • BufferCount Geben Sie
      die Anzahl der E / A-Puffer an, die für den Sicherungsvorgang verwendet werden sollen.

      Die Option BufferCount in DatabaseBackup verwendet die BUFFERCOUNTOption im SQL Server- BACKUPBefehl.

    • MaxTransferSize Geben Sie die größte Übertragungseinheit in Byte an, die zwischen SQL Server und dem Sicherungsmedium verwendet werden soll.

      Die Option MaxTransferSize in DatabaseBackup verwendet die MAXTRANSFERSIZEOption im SQL Server- BACKUPBefehl.

Patrick
quelle
5

Es gibt viele mögliche Optionen, aber wenn Datenbanken größer werden und vollständige Sicherungen länger dauern, müssen Sie wahrscheinlich differenzielle Sicherungen einbeziehen , wenn Sie dies noch nicht getan haben:

Das Erstellen differenzieller Sicherungen kann im Vergleich zum Erstellen einer vollständigen Sicherung sehr schnell erfolgen. Eine differenzielle Sicherung zeichnet nur die Daten auf, die sich seit der vollständigen Sicherung auf der differenziellen Sicherung geändert haben. Dies erleichtert häufige Datensicherungen, wodurch das Risiko eines Datenverlusts verringert wird.

Ich verstehe, dass Olas Skripte sogar so eingestellt werden können, dass sie mithilfe des ModificationLevel-Parameters zwischen einer vollständigen oder einer differenziellen Sicherung entscheiden, basierend auf dem Änderungsbetrag in der Datenbank .

Wir verwenden EMC DD Boost, und Sie können gerne Ihre eigene Meinung dazu abgeben. Aufgrund der verwendeten clientseitigen Deduplizierungsmethoden haben wir jedoch festgestellt, dass vollständige Sicherungen selbst von Multi-TB-Datenbanken sehr schnell erfolgen können. bis zu dem Punkt, dass wir uns nicht mehr um differenzielle SQL Server-Sicherungen kümmern müssen. In - Effekt mit EMC DD Sie sind dabei differentielle Backups, nur nicht in SQL Server. Die Verwendung mehrerer Zieldateien verbessert auch die Geschwindigkeit erheblich, selbst unter DDBoost.

BradC
quelle