Exemplarische Vorgehensweise: Vergleichen der Schemas von zwei Datenbanken
Aktualisiert: November 2007
In dieser exemplarischen Vorgehensweise vergleichen Sie die Schemas von zwei Datenbanken mithilfe von Visual Studio Team System Database Edition. Beim Schemavergleich wird auch ein DDL-Skript (Datendefinitionssprache) der Unterschiede generiert. Verwenden Sie diese Datei, um das Schema des Ziels mit dem der Quelle zu synchronisieren. Weitere Informationen finden Sie unter Vergleichen von Datenbankschemas.
In dieser exemplarischen Vorgehensweise führen Sie folgende Verfahren aus:
Create an empty database. Die Datenbank Northwind wird als Quelle verwendet, und Sie erstellen eine leere Datenbank als Ziel.
Compare the schemas of two databases. Durch das Vergleichen der Schemas ermitteln Sie die strukturellen Unterschiede zwischen den Datenbanken, zeigen die Unterschiede in einer Tabelle an und erstellen ein DDL-Skript, das die Unterschiede enthält.
Examine the synchronization script. Überprüfen Sie das DDL-Skript, und bearbeiten Sie es vor dem Ausführen.
Update the target database. Führen Sie das DDL-Skript aus, und ändern Sie das Schema des Ziels.
Vorbereitungsmaßnahmen
Die folgenden Produkte müssen installiert sein:
Microsoft SQL Server 2000 oder Microsoft SQL Server 2005
Database Edition
Es müssen zwei Datenbanken zum Vergleichen vorliegen. Sie beginnen mit der Northwind-Datenbank als Quelle. Außerdem erstellen Sie eine leere Datenbank als Ziel. Dies wird in den folgenden Verfahren beschrieben.
Erstellen einer leeren Datenbank
Führen Sie diese Schritte aus, um eine leere Datenbank zu erstellen.
So erstellen Sie eine leere Datenbank
Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.
Das Dialogfeld Neues Projekt wird angezeigt.
Wenn Sie eine SQL Server 2000-Datenbank erstellen möchten, klicken Sie auf SQL Server 2000-Assistent. Wenn Sie eine SQL Server 2000-Datenbank erstellen möchten, klicken Sie auf SQL Server 2000-Assistent.
Geben Sie unter Name die Zeichenfolge EmptyNW ein.
Übernehmen Sie die Standardeinstellungen für die übrigen Felder, und klicken Sie dann auf OK.
Der Assistent für neue Datenbankprojekte wird angezeigt.
Klicken Sie auf Build/Bereitstellung konfigurieren.
Klicken Sie unter Zielverbindung auf die Schaltfläche Durchsuchen, und geben Sie die Verbindung mit dem Datenbankserver an, auf dem die leere Datenbank erstellt werden soll.
Klicken Sie auf Fertig stellen.
Ein Datenbankprojekt mit dem Namen EmptyNW wird erstellt und im Projektmappen-Explorer angezeigt.
Klicken Sie im Projektmappen-Explorer auf das Datenbankprojekt EmptyNW.
Klicken Sie im Menü Erstellen auf ProjectNamebereitstellen.
Das Datenbankprojekt wird erstellt und auf dem angegebenen Server bereitgestellt.
Vergleichen der Schemas von zwei Datenbanken
So vergleichen Sie die Schemas von zwei Datenbanken
Öffnen Sie Database Edition.
Zeigen Sie im Menü Daten auf Schemavergleich, und klicken Sie dann auf Neuer Schemavergleich.
Das Dialogfeld Schemavergleich wird angezeigt. Geben Sie hier Quelle und Ziel an. In diesem Dialogfeld geben Sie die Server an, auf denen sich die Quelle und das Ziel befinden, die Namen der Datenbanken sowie den Authentifizierungstyp, der beim Herstellen der Verbindung mit den Datenbanken verwendet werden soll.
Außerdem wird das Fenster Schemavergleich im Hintergrund geöffnet, und Database Edition weist ihm automatisch einen Namen zu, z. B. SchemaCompare1.
Geben Sie unter Quelldatenbank in Servername den Namen des Servers ein, auf dem sich die Datenbank Northwind befindet.
Geben Sie unter Wählen Sie einen Datenbanknamen aus, oder geben Sie ihn ein den Namen Northwind ein.
Geben Sie unter Zieldatenbankname den Namen des Servers ein, auf dem sich die Datenbank EmptyNW befindet. Dieser Name sollte dem Namen des Servers entsprechen, den Sie als Quelle eingegeben haben.
Geben Sie unter Wählen Sie einen Datenbanknamen aus, oder geben Sie ihn ein den Namen EmptyNW ein.
Klicken Sie auf Fertig stellen.
Der Schemavergleich wird gestartet.
Hinweis: Sie können einen laufenden Schemavergleich beenden, indem Sie das Menü Daten öffnen, auf Schemavergleich zeigen und dann auf Schemavergleich beenden klicken.
Hinweis: Sie können Optionen konfigurieren, die angeben, was als Unterschied betrachtet wird, und die beeinflussen, wie das Aktualisierungsskript erstellt wird. Weitere Informationen finden Sie unter Gewusst wie: Festlegen von Optionen für das Vergleichen von Datenbankschemas.
Wenn der Vergleich abgeschlossen ist, werden die strukturellen Unterschiede zwischen den beiden Datenbanken in der Tabelle im Fenster Schemavergleich angezeigt. In der Tabelle wird eine Zeile für jedes Datenbankobjekt angezeigt, das in einer der beiden Datenbanken vorhanden ist. Datenbankobjekte werden nach Typ organisiert: Tabellen, Ansichten, gespeicherte Prozeduren, Rollen usw.
Aktualisieren der Zieldatenbank
Sie haben zwei Möglichkeiten zum Aktualisieren des Schemas der Zieldatenbank. Sie können das Schema direkt im Fenster Schemavergleich oder mithilfe des T-SQL-Editors aktualisieren. In diesem Abschnitt werden beide Möglichkeiten beschrieben.
Nach dem Ausführen des Schemavergleichs werden die strukturellen Unterschiede in der Tabelle im Fenster Schemavergleich angezeigt. Für jedes Objekt in der Spalte Northwind (Quelldatenbank) wird in der Tabelle in der Spalte Aktion aktualisieren eine Aktion angezeigt, die zum Synchronisieren dieses Objekts in den beiden Datenbanken erforderlich wäre. Da in diesem Fall die Zielspalte bei den Standardobjekten leer ist, enthält die Spalte Status in erster Linie den Status Neu, und die Spalte Aktion aktualisieren enthält in erster Linie die Aktion Erstellen.
Schreiben von Aktualisierungen in das Ziel
Sie können das Schema des Ziels mithilfe der Aktualisierungsaktionen aktualisieren, die im Fenster Schemavergleich aufgeführt sind. Zum Ausführen dieser Aufgabe führen Sie die Schritte in Write Updates to Target Database aus.
Anzeigen des Skripts und Schreiben der Aktualisierungen in das Ziel
Sie können ein Aktualisierungsskript exportieren, es genauer betrachten und ggf. ändern und anschließend damit die Zieldatenbank synchronisieren. Zum Ausführen dieser Aufgaben führen Sie die Schritte in Examine and Execute the Synchronization Script aus.
Schreiben von Aktualisierungen in die Zieldatenbank
So schreiben Sie Aktualisierungen in die Zieldatenbank
(Optional, aber empfohlen) Sichern Sie die Zieldatenbank.
Da einige Schemaänderungen nicht durchgeführt werden können, kann es zu Datenverlusten kommen, wenn Sie einen Aktualisierungsvorgang starten und dann abbrechen. Als Vorbereitung für das erneute Erstellen könnte beispielsweise eine Tabelle in der Zieldatenbank gelöscht worden sein. Wenn Sie die Aktualisierung in diesem Moment abbrechen, kann die Tabelle verloren gehen.
Klicken Sie auf der Symbolleiste Schemavergleich auf Updates schreiben.
Die im Fenster Schemavergleich aufgeführten Aktualisierungsaktionen werden ausgeführt. Bei der Synchronisierung wird das Schema des Ziels an das der Quelle angepasst.
Hinweis: Während der Aktualisierung können Sie den Vorgang abbrechen, indem Sie das Menü Daten öffnen, auf Schemavergleich zeigen und dann auf Schreiben auf Ziel beenden klicken.
Hinweis: Der Vergleich wird nicht automatisch aktualisiert. Wenn Sie den Vergleich erneut ausführen und sicherstellen möchten, dass die ausgewählten Aktualisierungen vorgenommen wurden, müssen Sie auf der Symbolleiste Schemavergleich auf die Schaltfläche Aktualisieren klicken.
Überprüfen und Ausführen des Synchronisierungsskripts
So überprüfen Sie das Synchronisierungsskript
Zeigen Sie im Menü Daten auf Schemavergleich, zeigen Sie auf Exportieren nach, und klicken Sie dann auf Editor. Sie können auch auf der Symbolleiste Schemavergleich auf In Editor exportieren klicken.
Der T-SQL-Editor wird im verbundenen Modus geöffnet, und das T-SQL-Synchronisierungsskript wird angezeigt. Der Name dieses Fensters lautet Server.Northwind - SchemaUpdate_EmptyNW_1.sql o.ä. Darin wird das T-SQL-Skript angezeigt. Dieses befindet sich in einer Datei im Ordner Eigene Dateien/Visual Studio 2005/Eigene Projekte. Da Sie in diesem Fenster über Lese- und Schreibzugriff verfügen, können Sie das Skript ändern. Wenn Sie es ändern, öffnen Sie das Menü Datei, und klicken Sie dann auf Speichern.
Führen Sie zum Synchronisieren der Schemas der beiden Datenbanken dieses Skript aus, indem Sie auf der Symbolleiste Schemavergleich auf SQL auführen klicken oder F5 drücken.
Hinweis: Der Vergleich wird nicht automatisch aktualisiert. Wenn Sie den Vergleich erneut ausführen und sicherstellen möchten, dass die ausgewählten Aktualisierungen vorgenommen wurden, müssen Sie auf der Symbolleiste Schemavergleich auf die Schaltfläche Aktualisieren klicken.
Nächste Schritte
Sie können nun die Daten innerhalb der beiden Datenbanken vergleichen. Weitere Informationen finden Sie unter Gewusst wie: Vergleichen der Daten von zwei Datenbanken.
Siehe auch
Aufgaben
Gewusst wie: Vergleichen der Daten von zwei Datenbanken
Gewusst wie: Vergleichen der Schemas von zwei Datenbanken
Konzepte
Übersicht über die Terminologie der Database Edition