Grüß dich AWagner,
streng genommen hast du völlig recht, es kann beim Sichern zu Inkonsistenzen kommen. Um dies zu vermeiden müsstest tatsächlich sämtliche Zugriffe verhindern und das vollständige Backup durchführen, und erst am Ende vom Backup den Zugriff wieder freigeben.
Die Frage ist, ob du dem Anwender das System wirklich für so lange Zeit wegnehmen willst. Über Nacht lasse ich mir das einreden, aber am Tag weniger.
Andererseits stellt sich die Frage, wann es zu solchen Inkonsistenzen wirklich kommt und inwieweit diese störend sind. Wirklich ein Problem hast meiner Meinung nach nur dann, wenn wirklich sowohl Filesystem als auch Datenbank komplett einem Crash unterliegen.
Auf der anderen Seite denke ich mir, auch wenn am Filesystem nicht gearbeitet wird, können in der Datenbank immer noch sehr viele Änderungen durchgeführt worden sein, angefangen von Verknüpfungen bis hin zur Bearbeitung von Objekten, die keine Dateien im Hintergrund liegen haben, wie z.B. Artikel bzw. in weiterer Folge Stücklisten.
Die Frage ist also, wie oft du das Filesystem sicherst und wie oft die Datenbank. Hängt bestimmt auch vom Umfang deiner Daten ab.
Die Datenbank würde ich jedenfalls mehrmals am Tag sichern. Wenn du jetzt bedenkst, dass beim "Vollständigen Wiederherstellungsmodell" und LogFile-Sicherungen der Datenbank eine Wiederherstellung der Datenbank bis zu einer bestimmten Uhrzeit möglich ist, sehe ich das ganze schon nicht mehr so problematisch.
Weiters: Wie viel Verwirrung wird wirklich gestiftet, wenn z.B. das Filesystem vollständig wiederhergestellt werden muss und die Datenbank dann ein paar Stunden Arbeit mehr enthält? In diesem Fall müssten die Anwender die entsprechenden Dateien selbst nochmal prüfen. Im Rahmen der Freigabe der Dokumente wäre im schlimmsten Fall wieder einiges rückgängig zu machen, aber Stücklisten etc. wären noch auf dem letzten Stand.
Andererseits, wenn nur die Datenbank verloren geht und das Filesystem passt, wäre es natürlich vorteilhaft, ein aktuelles Backup der Datenbank zu haben und nicht eines auf dem Stand der letzten File-Sicherung.
Und wenn überhaupt nur einzelne Dateien wiederherstellen musst, sagen wir mal so 5 - 10 Stück, dann sieht die Sache wiederum ganz anders aus.
Du siehst, es hängen eine Menge Überlegungen dahinter. Beim Sichern jedoch auf einen exakt synchronen Stand zu schauen halte ich nicht für sinnvoll. Die Sinnhaftigkeit ergibt sich meiner Meinung nach im Kontext des konkreten Falles, der dich zum Wiederherstellen zwingt.
Ich würde vorschlagen, dass dein Filesystem zu Zeitpunkten und in einer Häufigkeit sicherst, die mit deinem Volumen, der maximal verträglichen Ausfallzeit des Systems und dem verkraftbaren Datenverlust vereinbar ist, wobei auch hier über differenzielle und inkrementelle Sicherungen nachdenken solltest.
Die Datenbank hingegen würde ich durchaus mehrmals täglich sichern, weil es nämlich überhaupt kein Problem ist, dauert nur wenige Minuten (wenn nicht sogar Sekunden bei Log-Backups) wenn überhaupt und ist im Vollbetrieb möglich. Außerdem kannst du dir völlig problemlos mehrere Backupstände aufheben, zum Beispiel die eines ganzen Tages oder sogar einer ganzen Woche, womit du im Fall des Falles ein Backup wiederherstellen kannst, das dem Stand deiner File-Sicherung entspricht.
Im Extremfall kannst von der Datenbank dann sogar zwei Versionen herstellen, eine älter zum Zeitpunkt der letzten File-Sicherung und eine ganz aktuelle Datenbanksicherung. Damit könnte man sogar eine absolut konsistente Wiederherstellung gewährleisten und umfangreichere Änderungen z.B. im Stücklistensystem mehr oder weniger einfach auf das ältere Backup übertragen.
Wie gesagt, das ganze lässt sich erst dann sinnvoll entscheiden, wenn bekannt ist, WARUM das Wiederherstellen überhaupt erst nötig wird. Nur ist es dann besser, ein paar und aktuellere Backups mehr zu haben als nur ein einziges zu wenig.
Hoffe ich konnte dir mit diesen Ausführungen noch ein wenig behilflich sein.
Ciao, WolfgangE
------------------
An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!!!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP