Derzeit verwenden wir Standardwartungspläne für Sicherungen auf den SQL Server 2005/2008 / 2008R2 / 2012-Servern in unserer Umgebung, und das Kontrollkästchen "Sicherungsintegrität überprüfen" wurde immer aktiviert.
Einige der Sicherungen dauern sehr lange, daher habe ich empfohlen, diese Option zu deaktivieren, aber das Management muss die Auswirkungen und Risiken dieser Änderung dokumentieren.
Ich verstehe die Verwendung und den Verlauf dieser Option. Es erscheint mir nur unnötig, die Zeit für den Sicherungsjob zu verdoppeln, wenn (meiner Meinung nach) ein Fehler, der wahrscheinlich auftritt, während des Sicherungsschritts und nicht während der Überprüfung auftritt .
Liege ich falsch? Ist es ein minimales Risiko, dies auszuschalten, wenn ich auf Festplatte sichere und kein Band oder ähnliches streame? (Wir sichern über das Netzwerk auf eine EMC DD-800-Backup-Appliance, falls dies relevant ist.)
Gibt es offizielle MS-Empfehlungen, wann dies sicher deaktiviert werden kann?
Führen Sie bei jedem Backup in Ihrer Umgebung eine "Überprüfung" durch? Prüfen Sie sie vor Ort?
BEARBEITEN : Wenn Sie im Wartungsplan die Option "Sicherungsintegrität überprüfen" aktivieren , führt SQL unmittelbar nach jeder Sicherung eine vollständige ÜBERPRÜFUNG DER WIEDERHERSTELLUNG für jede Datenbank durch. Dies ist genauso daten- / e / a-intensiv wie die ursprüngliche Sicherung und verdoppelt (im Grunde) die Gesamtzeit des Sicherungsjobs. Dies ist nicht dasselbe wie das Aktivieren der Option "Prüfsumme" beim Sichern (was meines Wissens im Assistenten nicht möglich ist).
quelle
Antworten:
Nein, du hast recht :-)
RESTORE VERIFYONLY
only gewährleistet nicht, dass Sie Ihre Datenbank im Falle einer Beschädigung wiederherstellen können. Es werden von Natur aus keine Integritätsprüfungen durchgeführt.Eine bessere Möglichkeit besteht darin, Ihre Sicherungen regelmäßig zu erstellen, eine gültige Wiederherstellung auf einem anderen Server durchzuführen und DBCC CHECKDB darauf auszuführen.
Dies ist ein Grund, warum ich kein großer Fan von Wartungsplänen bin, da die GUI nicht viele Optionen
backup .. with CHECKSUM
bietet, die mit T-SQL möglich sind.Aus dem Mythos-Blog von Paul Randal
Ich führe die VERIFYONLY nicht durch. Stattdessen mache ich eine Sicherungskopie mit CHECKSUM und lasse sie dann auf einem anderen Server + CHECKDB wiederherstellen. Wenn Sie kreativ sein möchten, können Sie dem statistischen Stichprobenverfahren zur Überprüfung von Datenbanksicherungen folgen .
Sie können das Ablaufverfolgungsflag 3023 aktivieren, damit die
CHECKSUM
Option automatisch für den Befehl BACKUP aktiviert wird. Testen Sie wie immer das Verhalten aller Ablaufverfolgungsflags in Ihrer Umgebung!Das Fazit ist - Wartungspläne fallen zu lassen und eine sinnvollere Sicherungslösung (Hinweis: Olas Sicherungslösung) zu verwenden , mit der Sie sie an Ihre Bedürfnisse anpassen können.
Sichern Sie lokal auf der Festplatte, und führen Sie dann einen PowerShell-Übertragungsauftrag aus, mit dem die Sicherung lokal vom Server auf eine Netzwerkfreigabe (Sicherungsserver) kopiert wird. Das geht schneller als das direkte Kopieren auf eine Netzwerkfreigabe.
Aktivieren Sie außerdem die sofortige Dateiinitialisierung, um das automatische Wachstum von Datendateien zu beschleunigen und die Wiederherstellungszeit zu verkürzen (falls Sie Ihre Datenbanken wiederherstellen müssen). Es ist immer gut, Optionen zur Hand zu haben.
Eine gute Lektüre ist: Backups: Planen einer Wiederherstellungsstrategie
quelle
TSQL
im Gegensatz zuGUI
(Wartungsplänen) zu verwenden, damit Sie die Flexibilität nutzen und mit offenen Händen anpassen können. Genau wie zu Ihrer Information wurden in SQL Server 2016 Wartungspläne erweitert,CTP 2.4
die von MS als intelligente SQL Server-Wartungspläne bezeichnet werden. Sie integrieren bewährte Vorgehensweisen und können im Handumdrehen optimale Strategien identifizieren. Noch keine GUI kann TSQL schlagen :-)Die Quintessenz ist, dass Sie nicht völlig sicher sein können, dass eine bestimmte Sicherungsdatei in Ordnung ist, wenn Sie nicht irgendwo eine Datenbankwiederherstellung durchführen.
Der ideale Test zur Überprüfung Ihrer Sicherungen besteht darin, eine Umgebung einzurichten, in der die Datenbanksicherungen und die Datenbankprotokollsicherungen als Teil Ihres täglichen Prozesses ständig wiederhergestellt werden. Dies ist einer der Vorteile des Log-Versands ...
Wenn Sie sich dennoch nur an die Überprüfung halten möchten, können Sie eine Umgebung einrichten, in der dies nur möglich ist. Dies würde die Arbeit von Ihrem (vermutlich) Produktionsserver entlasten und die Auftragszeit verkürzen.
Haben Sie schließlich darüber nachgedacht, von Wartungsplänen abzuweichen? Skripte wie die von Ola gelten nur für Backups und Wartungsarbeiten: https://ola.hallengren.com/
quelle
Technisch gesehen entspricht die Wiederherstellung nur der Durchführung einer Wiederherstellung, es gibt jedoch keine bessere Überprüfung, ob die Datenbank tatsächlich wiederhergestellt wurde, um zu überprüfen, ob eine gültige Sicherung vorliegt. Wir hatten eine Instanz, bei der nur die Überprüfung bestanden hat, die Datenbank jedoch aufgrund von Beschädigung nicht wiederhergestellt werden konnte. Mein Punkt ist, dass ich nicht mit dieser Überprüfung rechne, da die Sicherung in Ordnung ist. Wir haben jetzt ein System entwickelt, das alle unsere Datenbanken auf einer separaten Instanz wiederherstellt, um ihre Gültigkeit zu überprüfen. Dies ist natürlich nicht immer möglich. Probieren Sie also eine bestimmte Datenbank wöchentlich aus. Long und Short vertrauen nicht zu 100%.
quelle