Datenbankabgleich - SQL-Server Datenbanken miteinander abgleichen

Mit dem Datenbankabgleich können Sie ihre Datenbankstruktur aktualisieren. Bitte beachten Sie in diesem Zusammenhang die unter Datenbankabgleich - Einführung beschriebenen Voraussetzungen und Warnhinweise.

Wichtig:

Die Informationen für den Datenbankabgleich mit Oracle-Datenbanken finden Sie unter " Datenbankabgleich -Oracle-Datenbanken miteinander abgleichen"

 

Sie können einen Datenbankabgleich wie folgt durchführen:

  1. Öffnen Sie den Dialog "Datenbank Abgleich Tool- DB Selektion" über das Menü Dienste -> Datenbankabgleich.
    Es öffnet sich der folgende Dialog:
  2. Sie können links in der Feldgruppe eEvolution Referenzdatenbank die eEvolution Referenzdatenbank auswählen. Geben Sie anschließend den Benutzernamen und das Passwort vom Systemadministrator ein.

    Hinweis:

    Haben Sie, wie bereits in Datenbankabgleich - Einführung erwähnt, die Referenzdatenbank eingelesen und in der sql.config hinterlegt, wird diese automatisch ausgewählt

  3. In der Feldgruppe Kundendatenbank wird die abzugleichende  Datenbank angezeigt.

Achtung:

Sie können die Auswahl nicht ändern

Die folgenden beiden Einstellungen sind optional, um das Durchführen von einem Datenbankabgleich zu erleichtern.

  1. Sie können unter "Pfad zur Referenz DB" den Server-Pfad angeben, wo die Referenz DB auf ihrem SQL-Server hinterlegt ist. Klicken Sie auf das Symbol , um einen zu ihrem SQL-Server relativen Pfad auszuwählen. Das hat den Vorteil, dass die Referenz DB automatisch eingedumpt werden kann, sobald eine neue Referenz DB zur Verfügung gestellt worden ist. Klicken Sie zum Eindumpen einfach auf den Button "Eindumpen"

Hinweis:

Es können sowohl *.bak-Dateien als auch *.zip-Dateien eingelesen werden.

Hinweis

Der Pfad zu ihrer Referenzdatenbank wird automatisch in der Datenbank gespeichert.

  1. Sie können unter "Pfad zur Sicherung" einen lokalen Pfad angeben, wo Sie eine Sicherung ihrer abzugleichenden Datenbank speichern möchten. Sie können den Pfad entweder über das Symbol auswählen oder manuell eintragen. Fügen Sie dem Pfad anschließend noch die Bezeichnung für die zu erstellende Sicherung der Datenbank hinzu.

Achtung:

Die Sicherung muss die Endung *.bak tragen!

  1. Den Pfad zur Ablage können Sie in der Feldgruppe Log Konfiguration unter "Pfad zur Protokolldatei" eingeben. Dort wird das Protokoll für den Datenbankabgleich abgelegt, in dem auch die Fehler protokolliert werden, die mit dem Präfix "!!!ERROR" gekennzeichnet sind.

Beispiel:

DbAbgleich2011-01-19-10.57.00.423000.Log

Achtung:

Der Protokollpfad muss IMMER angegeben werden!

  1. Klicken Sie nun auf "OK" um den Vorgang fortzusetzen. Sie werden anschließend darauf hingewiesen, dass keine weiteren Benutzer an der Datenbank während des Datenbankabgleiches angemeldet sein dürfen.
  2. Klicken Sie auf "Ja" um fortzufahren.

Hinweis

Klicken Sie auf "Nein" gelangen Sie wieder in den"Datenbank Abgleich Tool- DB Selektion"-Dialog

  1. Es öffnet sich der Dialog "Datenbank-Abgleich-Tool":
  2. Wenn Sie sich einen Überblick über die Differenzen in der Datenbank verschaffen wollen klicken Sie zuerst auf "DB-Differenzen visualisieren". Die Kundendatenbank wird mit der Referenzdatenbank verglichen und die Bereiche farblich gekennzeichnet, in denen es Differenzen gibt:

Tipp:

Bereits bei der Durchführung von einem Vergleich wird die Datenstruktur auf bekannte Probleme geprüft und diese in die Protokolldatei eingetragen. Es kann aber in diesem Zusammenhang immer sein, dass bestimmte Prüfungen mangels noch nicht existierender Objekte nicht durchgeführt werden können und daher erst der Datenbankabgleich selbst diesen Fehler protokollieren kann.

  1. Aktivieren Sie die Option "Der DB-Abgleich wird beim Auftreten eines Fehlers fortgeführt. Die aufgetretenen Fehler werden in ein Protokoll geschrieben und müssen im Anschluss behoben werden. Die Version wird trotzdem hoch gesetzt." wenn Sie erreichen möchten, dass der Datenbankabgleich beim Auftreten von Fehlern trotzdem fortgeführt wird. Sie können dadurch die Zeit des ROLLBACKS nach einem Fehler einsparen, die in der Protokolldatei aufgeführten Fehler müssen aber natürlich im Anschluss trotzdem gesichtet und behoben werden. Beachten Sie bitte in diesem Zusammenhang, dass dadurch bestimmte Anpassungen an der Datenbankstruktur nicht durchgeführt werden können. Es ist daher unbedingt notwendig die in der Protokolldatei protokollierten Fehler zu beheben und mit einem erneuten Datenbankabgleich die fehlenden Anpassungen an der Datenbankstruktur nachzuholen.

    Hinweis:

    Alternativ können die Änderungen auch manuell nachgezogen werden, es wird aber die Verwendung des Datenbankabgleichs empfohlen.

  2. Starten Sie den Datenbankabgleich, klicken Sie dazu auf "Ziel-DB aktualisieren" und der Datenbankabgleich wird gestartet. Sie können den aktuellen Stand der Dinge unten in der Statusziele beobachten, wo stets der aktuelle durchzuführende Vorgang eingeblendet wird.
  1. Ist der Datenbankabgleich nicht erfolgreich abgeschlossen worden, erhalten Sie die folgende Meldung:

Sichten Sie bitte im Anschluss die Protokolldatei und korrigieren Sie die mit dem Präfix "!!!ERROR" versehenden Probleme in der Datenbank, die nicht automatisch korrigiert werden dürfen.

Information:

Sie finden bei verwaisten Datensätzen, die die Erstellung von einem Fremdschlüssel verhindern i.d.R. zusätzlich ein hilfreiches SQL-Statement in der Protkolldatei mit der Sie die verwaisten Datensätze in der Datenbank selektieren können. Das kann z.B. so aussehen:

!!!ERROR!!!: Es wurden Einträge in der Tabelle "dbo.AAGARCHIV" gefunden, die nicht zur Fremdschlüsseleinschränkung passen, bitte kontrollieren sie in der Tabelle die Datensätze nach verwaisten Einträgen! Ggf. diese Einträge löschen oder ändern. Ein hilfreiches Statement hierfür wäre: SELECT * FROM [dbo].[AAGARCHIV] AS FIRSTTABLE WHERE NOT EXISTS (SELECT 1 FROM [dbo].[ARCHIV] AS SECONDTABLE WHERE FIRSTTABLE.LFDARCHIVNR = SECONDTABLE.LFDNR) AND LFDARCHIVNR IS NOT NULL

Führen Sie nach der Korrektur den Datenbankabgleich erneut durch. Beachten Sie bitte in diesem Zusammenhang, dass einige Fehler in der Datenstruktur nicht vorab geprüft und festgestellt werden können, es können daher mehrere Iterationen mit dem Datenbankabgleich notwendig sein.

Bitte denken Sie daran, dass Sie über die Option "Der DB-Abgleich wird beim Auftreten eines Fehlers fortgeführt. Die aufgetretenen Fehler werden in ein Protokoll geschrieben und müssen im Anschluss behoben werden. Die Version wird trotzdem hoch gesetzt." steuern können, ob nach dem nicht erfolgreichen Datenbankabgleich ein ROLLBACK gefahren wurde:

WICHTIG:

Denken Sie bitte daran, dass auch in diesem Fall die protokollierten Fehler behoben werden müssen, um unangenehme Probleme in der Anwendung durch eine fehlerhafte Datenbankstruktur zu vermeiden.

  1. Ist der Datenbankabgleich erfolgreich durchgeführt worden erhalten Sie die folgende Meldung:

    Bestätigen Sie diese bitte mit OK.

 

Verwandte Themen

Hinzufügen einer fehlenden Identity-Eigenschaft

Einstellungen für den Datenbankabgleich

Datenbankabgleich - Datenbankunterschiede visualisieren