Vergleichen von Datenbankschemas

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite > 

Vergleichen von Datenbankschemas

Mit Hilfe eines Datenbankschemavergleichs können Sie Objekte zweier unterschiedlicher Datenbankschemas hinsichtlich ihrer Struktur und Größe miteinander vergleichen. Zu den Datenbankobjekten, die verglichen werden können, zählen Tabellen, Spalten, Ansichten, Funktionen und gespeicherte Prozeduren. Ein Vergleich funktioniert für Tabellen anders als für Ansichten, Funktionen oder gespeicherte Prozeduren. Bei Tabellen enthalten die Ergebnisse des Vergleichs die strukturellen Unterschiede (z.B. unterschiedliche Spalten, Constraints, Datentypen, usw.). Im Fall von Ansichten, Funktionen und gespeicherten Prozeduren, werden Sie in den Vergleichsergebnissen darüber informiert, ob die Größe des Objekts in Datenbank A (linke Seite des Vergleichs) mit der in Datenbank B (rechte Seite des Vergleichs) übereinstimmt oder unterschiedlich ist.

 

Anmerkung:Der zeilenweise Textvergleich von Datenbankobjektdefinitionen wird nicht unterstützt. Um zwei Objektdefinitionen (z.B. Datenbankansichten) Zeile für Zeile miteinander zu vergleichen, speichern Sie die Definitionen zuerst in Dateien und öffnen Sie beide Dateien in einer Vergleichsapplikation wie DiffDog).

 

Um einen Datenbankschemavergleich zu starten, klicken Sie auf die Symbolleisten-Schaltfläche Schemavergleich ic_schema-compare . Es werden zwei Datenbankkomponenten (eine "linke" und eine "rechte" Komponente) Seite an Seite nebeneinander angezeigt. Vor der eigentlichen Vergleichsausführung müssen Sie jeder der beiden Komponenten eine Datenquelle zuweisen. Anschließend können Sie entweder alle Objekte eines Schemas oder nur bestimmte Schemaobjekte für den Vergleich auswählen. Um die im Vergleich enthaltenen Objekte zu ändern, klicken Sie auf die Durchsuchen diff_browse_button-Schaltfläche auf der rechten oder linken Komponente und aktivieren bzw. deaktivieren Sie die erforderlichen Kontrollkästchen. Nähere Informationen dazu finden Sie unter Ausführen eines Datenbankschemavergleichs.

dbdiff_schema_comparison_sample

Beispielvergleich eines Datenbankschemas

Im Datenbankschemabeispielvergleich oben sehen Sie das Ergebnis des Vergleichs einer gespeicherten Prozedur, einer Tabelle und einer Ansicht zwischen zwei SQL Server-Datenbanken "ZooDB" und "ZooDBTarget". Die Tabellendefinitionen sind sowohl im Quell- als auch im Zielschema gleich (dies wird durch das Symbol ic_equal angezeigt), während die gespeicherte Prozedur und die Ansichtsdefinition unterschiedlich sind (dies wird durch das Symbol ic_diffs angezeigt).

 

Ein Datenbankschemavergleich kann als Datei gespeichert werden. Datenbankschemavergleichsdateien haben die Erweiterung .dbsdif und können auch mit DatabaseSpy geöffnet und zu DatabaseSpy-Projekten hinzugefügt werden. In einer Vergleichsdatei werden die Verbindungsdetails der am Vergleich beteiligten Datenbank(en), die für den Vergleich ausgewählten Datenbankobjekte sowie etwaige im Fenster "Eigenschaften" definierte Konfigurationsoptionen gespeichert (siehe auch Datenbankschemavergleichsdateien).

 

Es können verschiedene Datenbankvergleichsoptionen konfiguriert werden. So kann DatabaseSpy die Tabellen- oder Spaltenentsprechungen etwa automatisch eruieren (anhand von Namen, Datentyp oder beidem) oder Sie können das Mapping manuell erstellen. Die Vergleichsoptionen können über Extras | Optionen | Datenvergleich angepasst werden.

 

Nach Ausführung eines Datenbankschemavergleichs können Sie ein Merge Script generieren, um entweder die linke oder die rechte Datenbank zu aktualisieren. Sie können das Merge Script vor der Ausführung anzeigen und bearbeiten. Außerdem können Sie bei Bedarf bestimmte Objekte im Merge Script inkludieren (z.B. eine oder mehrere Spalten einer Tabelle). Nähere Informationen dazu finden Sie unter Zusammenführen von Datenbankschemas.

 

Anmerkung:Mit dem Merge Script werden nur die sich aus dem Vergleich der Tabellenstruktur ergebenden Unterschiede synchronisiert (dazu gehören Änderungen in Spalten, Schlüsseln oder Constraints). Eine Zusammenführung von Unterschieden zwischen anderen Objekttypen (z.B. gespeicherten Prozeduren, Funktionen und Ansichten) wird nicht unterstützt.

© 2019 Altova GmbH