Schema Compare
Schema Compare vergleicht zwei Datenbanken, etwa Entwicklung und Produktion, und erzeugt ein Skript, das die eine an die andere angleicht. Schema Compare in der Kopfzeile öffnet den Vergleich.
Vergleichen
- Quelle wählen: Verbindung und Datenbank mit dem gewünschten Stand, meist die Entwicklung.
- Ziel wählen: die Datenbank mit dem aktuellen Stand, die angepasst werden soll.
- Vergleichen klicken.
Verglichen werden:
- Tabellen mit Spalten, Indizes, Fremdschlüsseln und Check-Constraints
- Code-Objekte: Views, Prozeduren, Funktionen und Trigger
Die Zusammenfassung oben nennt, wie viele Objekte neu, geändert, entfernt und identisch sind.
Die Ergebnisliste
Jedes Objekt trägt eine Markierung:
| Markierung | Bedeutung |
|---|---|
| nur Quelle | fehlt im Ziel, wird angelegt |
| nur Ziel | gibt es in der Quelle nicht mehr, wird entfernt |
| geändert | unterscheidet sich |
| identisch | gleich |
Identische ausblenden und Filter… halten die Liste übersichtlich. Ein Klick auf ein Objekt zeigt den Unterschied nebeneinander: links Ziel (aktuell), rechts Quelle (gewünscht).
Sync-Skript
Sync-Skript generieren öffnet ein Skript in einem neuen Tab, verbunden mit der Ziel-Datenbank. Es arbeitet in sinnvoller Reihenfolge: zuerst Fremdschlüssel und Indizes entfernen, dann entfernte Objekte löschen, neue anlegen, Spalten ändern und zum Schluss Fremdschlüssel, Indizes und Constraints wieder anlegen.
Mehrteilige Änderungen stehen in BEGIN TRANSACTION. COMMIT und ROLLBACK sind auskommentiert: erst ausführen, Ergebnis prüfen, dann bewusst COMMIT oder ROLLBACK ausführen.
Das Skript vor dem Ausführen lesen. Besonders „nur Ziel“-Objekte werden gelöscht, und bei Tabellen heißt das: samt Daten. Auf einer Produktionsdatenbank vorher eine Sicherung anlegen.