SQL Server: Warum ein Sicherungsgerät verwenden?

8

Ist es "eine gute Praxis", beim Sichern von Datenbanken ein logisches Sicherungsgerät als Sicherungsspeicherort zu verwenden? Was ist der Vorteil der Verwendung von Sicherungsgeräten?

jrara
quelle

Antworten:

6

Stellen Sie sich vor, Sie haben möglicherweise viele Sicherungsjobs. Vollständige Sicherungen, differenzielle Sicherungen, Transaktionsprotokollsicherungen ... Stellen Sie sich nun vor, Sie müssen alle Ihre Sicherungen von der lokalen Festplatte in das SAN verschieben. Wenn Sie Sicherungsgeräte verwenden, müssen Sie nur die Geräte mit den Pfaden zur neuen Festplatte neu erstellen. Wenn Ihre Sicherungsskripte jedoch so geschrieben sind, dass sie vollständige Pfade verwenden, müssen Sie jeden Job und jeden Jobschritt neu schreiben, um diese Pfade zu ändern.

Es kann jedoch Szenarien geben, in denen Sie die Sicherungsgeräte nicht verwenden müssen, z. B. wenn Sie ein benutzerdefiniertes Szenario verwenden, in dem Sie den Sicherungspfad oder den Dateinamen dynamisch ändern (z. B. Datum / Uhrzeit zum Ordner- oder Dateinamen hinzufügen).

Alex_L
quelle
Du meinst, du hast keine UDF oder so, also sind Pfade an einem Ort? Und in einer Variablen speichern?
Gbn
Ich habe nie erzählt, wie ich die Backups mache :) Ich habe nur auf die Fragen "Warum ist es eine gute Praxis?" Und "Nutzen der Verwendung von Backup-Geräten" geantwortet. In meinem Unternehmen verwenden wir verschiedene Szenarien, da für die meisten System-Backup-Pfade Dateinamen und Inhalt werden in den Supportanweisungen beschrieben. Ihr Szenario mit Datums- / Uhrzeitstempeln verwenden wir ebenfalls.
Alex_L
10

Ich bevorzuge eine Datei pro Backup

  • DB_FULL_yyyymmddhhnn.bak
  • DB_DIFF_yyyymmddhhnn.bak
  • DB_LOG_yyyymmddhhnn.bak

Ich will nicht:

  • Fragen Sie ein Sicherungsgerät ab, um zu sehen, was dort gespeichert ist
  • Kopieren Sie ein gesamtes Sicherungsgerät, um eine Datenbank zu erhalten
  • FTP oder anderweitig mehr verschieben brauche ich um den Platz

Wenn Sie über eine Datenbank mit TB-Größe, Partitionen und Dateigruppen verfügen und teilweise Sicherungen / Wiederherstellungen durchführen möchten, werden diese Probleme multipliziert. In einer DR-Situation möchte ich alles einfach und klar.

Die meisten (großen und kleinen) Geschäfte, in denen ich war, tun dies: Es ist einfacher, mit selbstbeschreibenden Dateien umzugehen.

Das "Geräte" -Konzept geht auf Sybase, SQL Server 6.5 und früher zurück. Auch hier gab es Festplattengeräte. Mit SQL Server 7 wurden separate MDFs und LDFs eingeführt

gbn
quelle
4

Ein logisches Sicherungsgerät ist nur eine Abstraktion vom physischen Gerät.

Dies vereinfacht das Wechseln zwischen physischen Geräten, da Sie die logische Gerätedefinition ändern können, anstatt Ihre Sicherungsskripte oder Wartungspakete bearbeiten zu müssen.

Mark Storey-Smith
quelle
4

Ich habe ein logisches Sicherungsgerät für ein Berichtssystem verwendet, bei dem wir mehrere Wiederherstellungen durchführen wollten und nicht den vollständigen Pfad ausschreiben wollten. Wir könnten die Definition des Dump-Geräts leicht ändern, ohne unsere Skripte ändern zu müssen.

Ich glaube, dass das gleiche Konzept für die Verwendung eines logischen Speicherauszugs für Bandsicherungen gilt, obwohl wir nie direkt auf Band ausgegeben haben.

Dies sind die einzigen Vorteile, die mir derzeit bekannt sind.

SQLRockstar
quelle
3

Während sie ihre Verwendung haben, bleibe ich lieber bei einer vollständigen, differenziellen oder Transaktionsprotokollsicherung pro Datei, da es einfacher ist, Bereinigungsskripte auszuführen, um alte Sicherungen zu löschen und zu verhindern, dass die Sicherungslaufwerke voll werden.

Briancarrig
quelle
1
Ich kann nicht verstehen, warum die Verwendung unterschiedlicher Dateien für unterschiedliche Bacup-Dateien mit der Verwendung von Sicherungsgeräten in Konflikt steht. Sie können drei Sicherungsgeräte für jede Art von Sicherung haben. Die Aufgaben "Alte Sicherungen löschen" und "Füllen der Sicherungsdateien verhindern" sind nur eine Frage, wann WITH INIT und WITH NOINIT verwendet werden sollen.
Alex_L
1
Dazu muss bei Sicherungen auf dem Gerät RETAINDAYS = X oder EXPIREDATE = X festgelegt und INIT mit NOSKIP verwendet werden (was meiner Meinung nach standardmäßig mit INIT der Fall ist). Es ist nicht so einfach, für Bereinigungen den Überblick zu behalten wie "Alle Dateien löschen, die älter als X sind". IMO.
Briancarrig
2

Nach meinem Verständnis sind die Vorteile der Verwendung eines Sicherungsgeräts die Vereinfachung von Skripten, die es einfacher machen, wenn Sie Laufwerke oder Geräte verschieben müssen, und meiner Meinung nach am nützlichsten sind. In der Lage sein, ein einheitliches Sicherungsskript über mehrere Server hinweg zu haben, wobei der Sicherungsspeicherort auf Serverbasis festgelegt werden kann, das Sicherungsgerät jedoch auf allen Servern gleich bleiben kann. Zum Beispiel "Primary_Backup_Location".

Doc
quelle
1

Abgesehen von dem, was oben bereits geschrieben wurde, ist der einzige andere Grund, für den ich die Verwendung von Sicherungsgeräten sehen konnte, der Platzmangel. Wenn Sie über eine Datenbank mit 100 GB und 2 Laufwerke mit jeweils 60 GB freiem Speicherplatz verfügen, können Sie auf jedem Laufwerk ein Sicherungsgerät erstellen und auf beiden Laufwerken sichern. Die Einschränkung ist, dass Sie dann beide Geräte zur Wiederherstellung benötigen.

-chris

- Natürlich können Sie auch in mehrere Sicherungsdateien anstelle der Geräte schreiben.

CleanFill
quelle
Hinzufügen: Sie können sogar auf verschiedene physische Festplatten aufteilen, um die Sicherungszeiten zu beschleunigen, während Sie nur minimale TSQL verwenden.
Stanley Johns