Mit dem Kommando SOGDbDiff kann ein Snapshot einer Testdatenbank erzeugt werden.
Außerdem kann eine Differenz zwischen einem zuvor erzeugten Snapshot und der aktuellen Testdatenbank berechnet werden.
Auf Basis einer älteren Differenzdatei kann ein Datenzustand wieder hergestellt werden, sofern sich die Testdatenbank zuvor auf dem Zustand des zugrunde liegenden Snapshots befindet.
Die Testdatenbank kann auf den Zustand des Snapshots zurückgesetzt werden.
Achtung: Das Kommando sollte nicht oder nur mit größter Vorsicht auf Produktionsdatenbanken angewendet werden, da es - je nach Option - auch Veränderungen an den Daten vornimmt.
sogdbdiff -createsnap PfadZurSnapshotDatei
Beispiel: sogdbdiff -createsnap C:\temp\Snapshot\snapshot.zip
Alle relevanten Tabellen werden in die Snapshotdatei entladen.
sogdbdiff -diffsnapdb PfadZurSnapshotDatei -tarfile PfadZurDifferenzDatei
Der Zustand aller relevanten Tabellen der aktuellen Datenbank werden mit dem Snapshot verglichen.
Die Differenzen werden in der DifferenzDatei im XML Format abgelegt.
sogdbdiff -runondb PfadZurDifferenzDatei
Die in der Differenzdatei gespeicherten Veränderungen werden auf der aktuellen Datenbank durchgeführt.
Voraussetzung ist, dass sich die betroffenen Daten in dem Zustand befinden, der zur Erzeugung der DifferenzDatei geführt hat.
Die Option ist aus Sicherheitsgründen derzeit nur im Hause der SOG verfügbar.
sogdbdiff -returntosnap PfadZurSnapshotDatei
Die Daten-Differenzen der aktuellen Datenbank zum angegebenen Snapshot werden berechnet.
Anschließend werden alle SQL-Kommandos ausgeführt um den Datenzustand des Snapshot wieder herzustellen.
Die Option ist aus Sicherheitsgründen derzeit nur im Hause der SOG verfügbar.
Folgende weitere Optionen können angegeben werden:
Keine Berücksichtigung von Metatabellen.
Enthallten Tabellen ein Datenfeld "firma" werden nur die Datensätze der angegebenen Firma berücksichtigt.
Achtung: Wenn Sie bei der Erzeugung eines Snapshots diese Option angeben, sollten Sie sie ebenfalls bei allen weiteren Verwendungen des Snapshot mit angeben, da sonst große Differenzen bzgl. der Datensätze der weiteren Firmen entstehen, die nicht im Snapshot enthalten sind. ggf. werden die Daten aller nicht im Snapshot enthaltenen Firmen gelöscht.
Ermöglicht die Angabe einer Liste von Tabellen, auf die sich das Kommando beziehen soll.
Konfiguration der relevanten Tabellen
Über die Konfigurationsdatei SOGDbDiff_cfg.xml können Tabellen von der Snaphotverarbeitung ausgeschlossen werden.