Altova DiffDog 2025 Enterprise Edition

Vergleich von Datenbankschemas

Zur Startseite Zurück Nach oben Weiter

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 der Dateivergleichsansicht.

 

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. 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 | DiffDog Optionen | Datenbankvergleich 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 direkt in DiffDog anzeigen und ausführen, es mit DatabaseSpy öffnen oder in einer Datei speichern. 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.

© 2018-2024 Altova GmbH