4

私のチームは、Martin Fowler、Pramod Sadalage、などによって記述されているように、データベース移行/データベースリファクタリングを管理するためのツールとプロセスを評価しています。 al。私たちは、自動化された繰り返し可能なテスト可能なプロセスに興味があるので、導入するたびにSQL比較を手動で実行するなどの技術には興味がありません。現在、CruiseControl.NETを継続的な統合に使用しています。複数のデータベースを更新する移行を管理するためのベストプラクティス?

当社の運用環境には複数のSQL Server 2000データベースサーバーがあり、それらの間に複製があります。私たちの移行によって、ソースとターゲットの両方のデータベースサーバー上のスキーマが変更されます。

dbdeployなどのツールでこのような移行を実行するには、いずれかのサーバーに対して移行を実行する必要があり、他のサーバーをリンクサーバーとして追加する必要があります。メインサーバーに対して実行されている単一のスクリプトは、リンクされたサーバーのいずれに対してもDDLを実行できます。

私の質問は、このアプローチはベストプラクティスと考えられるのでしょうか、複数のデータベースサーバーにアクセスする移行を適用するためのより良い方法がありますか?

答えて

0

このアプローチでは何も本質的に間違っているわけではありませんが、設定する際には、リンクされたサーバーの1つが停止したときにどうなるかをテストしてください。あるサーバがダウンしていて、そのサーバに変更が加えられていないことを知りたければ、他のすべてのサーバをロールバックすることは望ましくありません。

もちろん、移行の最初の最も重要なベストプラクティスは、移行の移行を開始する前に確実なバックアッププロセスを確保することです。

1

Visual Studio 2008(Team Edition、特にGDR)は、サーバーに展開できる定義済みのスキーマ/メタデータファイルに対するスキーマの自動展開を処理できます。これは、ビルド/展開プロセスに含めることができます。しかし、私はまだレプリケーションやスキーマの変更に関して問題があると思います。レプリケーションの設定を理解している/認識しているパッケージはありません。

たとえば、サブスクライバでカスタムレプリケーションプロシージャを使用します。スキーマの変更はパブリッシャから伝播されますが、カスタムレプリケーションの変更に応じて手作業でスクリプトを変更する必要があります。カスタムレプリケーションprocsを使用していない場合は、これが最善の方法といえます。

0

ChinchillinWizardbyの組み合わせを試すことができます。DBサーバーにChinchillinエージェントをインストールし、展開プロセス中にWizardby移行スクリプトを実行させます。

:)

0

はここでレッドゲートで、我々は今、SQL比較し、SQLソースコントロールを使用して再現性の移行ソリューションを持っているのにこの統合は、作品です。したがって、SQL Compareコマンドラインを使用して、継続的な統合プロセスをサポートすることができます。

http://www.red-gate.com/MessageBoard/viewtopic.php?t=14107

それは、現在、早期アクセスビルドですので、我々はできるだけ多くのフィードバックを得ることに熱心です。

関連する問題