Frage

Als Followup auf diese Frage Ich frage mich, was Ihre SQL Server-Backup / Wartungsplan ist, und wie kann ich meine besser machen.

Zur Zeit Ich bin mit zwei Klar jane Wartungspläne aus den Plan-Assistenten.

Die ersten Läufe jede Nacht und tut so ziemlich alles ...

  • Vollständige Datenbank und Transaktionsprotokollsicherung
  • Integritätsprüfung, wieder aufbauen Index, recompute Statistiken etc. (Ich habe alles außer inkrementelles Backup)

Die anderen Läufe alle drei Stunden und führt ein inkrementelles Backup (ich bin paranoid, ich weiß, das ist wahrscheinlich übertrieben ist).

Backups auf der Festplatte sind, werden vollständige Sicherungen an das SAN gesendet, für eine Woche beibehalten.

Was denken Sie, ist dies ein vernünftiger Plan? Irgendwelche Vorschläge?

EDIT: Dies ist SQL Server 2005 DB ist 5GB, wächst etwa 1 GB / Monat

.
War es hilfreich?

Lösung

Klingt ziemlich gut. Ich bin mehr paranoid. Ich mache zwei tägliche vollständige Backups und stündliche Transaktionsprotokollsicherungen. Abhängig von der Größe der Datenbank oder Kurses. Die Sicherungen werden direkt auf der Festplatte durchgeführt und gesichert dann jede Nacht auf Band.

Sie wahrscheinlich nicht brauchen jeden Tag, um die Wartungsaufgaben zu tun. Ich mache sie nur am Wochenende, mit Ausnahme dieses einen Tisch, die wir jeden Abend indizieren. Auch hier hängt dies von der Größe und Aktivität der Datenbank.

Wenn Sie habe genug CPU und Speicherplatz können Sie die Disk-Backups zip um Speicherplatz zu sparen und auf Band oder einem anderen Ort übertragen machen schneller.

Andere Tipps

Sie sollten mit Ihrem Nutzer / Kunden / Daten Custodians sprechen - was auch immer Sie sie nennen. Sie müssen ein klares Verständnis davon, wie viel Arbeit, die sie verlieren können. Schreiben Sie eine SLA, wenn Sie noch kein Konto haben. Sie wollen keine Überraschungen, wenn es um schlechte Nachricht kommt.

Sie müssen auch verstehen, dass die Wiederherstellung Zeit in Anspruch nimmt. Sie benötigen eine Recovery-Plan planen eine akzeptable Wiederherstellungszeit zu erstellen. Dies kann eine tägliche Vollsicherung bedeuten, 4 Differentiale und Log-Sicherungen alle 5 Minuten. Dies ist nicht verrückt oder paranoid wie Marcus Erickson sagte - es kommt alles auf Ihre Informationen und der Dollar Wert auf Ihre Organisation auf sie legt.

Ich glaube nicht, dass Sie, indem Sie Backups alle 3 Stunden paraniod werden. Grundsätzlich Ihr Backup-Plan wird von den Wiederherstellungsanforderungen zu messen. Wie lange kann man sich leisten bis zu sein, während Sie vs erholen, wie viele Daten sind Sie bereit zu verlieren, bevor Sie unten sind. Für SQL Server, können Sie die Datenmenge schrumpfen Sie bereit sind, deutlich zu verlieren, indem sie Transaktionsprotokollsicherungen auf Ihre Backup-Plan hinzufügen. Viele Menschen tun dies alle paar Minuten, abhängig von der Menge der Transaktionen durch das System geht. Um ein tun wiederherstellen Sie nur die letzte vollständige, die letzte Erhöhung wiederherstellen und dann alle Transaktionsprotokollsicherungen seit der inkrementell. Dies können Sie einen minimalen Verlust von Daten geben, aber es kann ein wenig whle dauern, bis alle Transaktionsprotokollsicherungen anzuwenden. Ich sehe die folgenden ziemlich regelmäßig: Vollständige Sicherungen - Wöchentliche Inkrementelle Backups - Nächtliche Log-Sicherungen - alle paar Minuten, je nach Anforderungen (vielleicht einmal eine Stunde usw. gut sein)

Denken Sie daran, Feuerlöschübungen zu tun, wo man tatsächlich versuchen, aus den Backups wiederherstellen Sie (zu einem Test-System) erstellen. Dies sollte vielleicht einmal im Monat durchgeführt werden.

Das Mindeste, was ich meinen Kunden empfehlen, ist eine nächtliche vollständige Sicherung der Datenbank zu tun und dann alle 3 Stunden eine Transaktion Sicherung. Es erstaunt mich immer wieder, wie viele Menschen noch nie ein Backup-Setup. Das sind immer schlecht Anrufe.

Meiner Meinung nach der beste Weg ist:

Machen Sie

, um die vollständige Datenbanksicherung alle 12 Stunden

BACKUP DATABASE database TO DISK = 'd:/full.bak'

ein Differential-Backup alle sechs Stunden, im Falle des Scheiterns macht es einfacher Prozess zur Wiederherstellung

BACKUP DATABASE database TO DISK = 'd:/diff.bak' WITH DIFFERENTIAL

und, natürlich, Transaktionsprotokollsicherungen, die besser zu jeder Stunde zu machen.

BACKUP LOG database TO DISK = 'log.bak'

Wenn der Fall des Scheiterns wird der Wiederherstellungsprozess seiner nächsten:

  • Die letzte vollständige Sicherung
  • Die letzte differentielle Backup
  • Das letzte Transaktionsprotokoll

Es hat zugelassen, dass es besser ist, vollständige Wiederherstellungsmodell zu verwenden Point-in-Time-Recovery zur Verfügung.

zu machen
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top