Mein Team evaluiert Tools und Prozesse für die Verwaltung von Datenbankmigrationen/Datenbank-Refactoring, wie von Martin Fowler, Pramod Sadalage et. al. Wir sind an automatisierten, wiederholbaren, testbaren Prozessen interessiert, daher sind wir nicht daran interessiert, SQL Compare bei jeder Bereitstellung manuell auszuführen. Zurzeit verwenden wir CruiseControl.NET für die kontinuierliche Integration.Best Practices für die Verwaltung von Migrationen, die mehrere Datenbanken aktualisieren?
Unsere Produktionsumgebung verfügt über mehrere SQL Server 2000-Datenbankserver mit Replikation zwischen ihnen. Unsere Migrationen werden daher Änderungen am Schema sowohl auf dem Quell- als auch auf dem Zieldatenbankserver vornehmen.
Um eine solche Migration mit einem Tool wie dbdeploy durchzuführen, müssen wir anscheinend die Migration auf einen der Server durchführen und die anderen Server als verbundene Server hinzufügen. Ein einzelnes Skript, das auf dem Hauptserver ausgeführt wird, könnte daher DDL für einen der verbundenen Server ausführen.
Meine Frage ist: Würde dieser Ansatz als Best Practice angesehen, oder gibt es eine bessere Technik für die Anwendung von Migrationen, die mehrere Datenbankserver betreffen?