2008-08-29 1 views
2

Wie können Sie, wenn Sie eine Datenbank pro Client einer Webanwendung anstelle einer Datenbank haben, die von allen Clients verwendet wird, alle Datenbanken effizient aktualisieren und verbessern?Mehrere identische Datenbanken effizient verwalten?

Wie implementieren Sie Änderungen an Schema und Code in einem solchen Szenario?

Antwort

1

Es ist irgendwie schwierig für uns. Wir haben ein benutzerdefiniertes Programm, das viel SQL-Code für die verschiedenen Datenbanken für uns schreibt. Im Wesentlichen schreibt er den Code einmal und kopiert ihn dann immer wieder zusammen mit den Änderungsdatenbankbefehlen usw. Er stellt auch sicher, dass die Primärschlüsselidentitäten usw. synchron sind, wenn sie benötigt werden. Darüber hinaus würde ich auf die Produkte von Red Gate schauen. Sie haben uns mehr als einmal hier gerettet. Mit ihnen können Sie einfach die dbs vergleichen und sehen, was anders ist. Ein Muss im Umgang mit mehreren Kopien.

1

Verwenden Sie einen Codegenerator/eine Skriptsprache, um das ursprüngliche Schema und Aktualisierungen im Laufe der Zeit zu implementieren.

1

Ich habe Red Gate SQL Packager dafür in der Vergangenheit verwendet. Das Schöne an diesem Tool ist, dass es ein C# -Projekt für Sie erstellt, das die Arbeit tatsächlich erledigt. Wenn Sie es benötigen, können Sie die Funktionalität des Standardpakets erweitern, um beispielsweise Standardwerte in neue Spalten einzufügen db etc. Am Ende haben Sie ein nettes Werkzeug, das Sie einem Techniker übergeben können und alles, was sie tun müssen, um mehrere DBs zu aktualisieren, ist es auf die Datenbank zu verweisen und auf eine Schaltfläche zu klicken.

Red Gate hat auch ein Produkt namens SQL Multi-Script, mit dem Sie Skripte gleichzeitig für mehrere Server/dbs ausführen können. Ich habe dieses Tool noch nie benutzt, aber ich stelle mir vor, wenn Sie nach etwas suchen, das intern verwendet werden kann, das nicht verpackt werden muss, würden Sie sich das ansehen wollen.