同じ構造を持ち、別のサーバーにレプリケートするようにセットアップされているSQL Server 2000データベースがいくつかあります(アップグレードが必要です)。問題は、構造を変更する必要があるとき(通常、すべてのデータベース、特にRed Gateのツールで簡単に行うことができます)、私はレプリケーションを停止し、構造の変更を行い、再度レプリケーションを設定する必要があります。レプリケーションをセットアップする手順は、データベースごとに行うのに数分かかるだけですが、繰り返しますし、私を狂ってしまいます。 IDEでレプリケーションプロシージャのスクリプトを作成し、次に前のデータベースの名前を次のデータベースの名前に置き換えてスクリプトを実行します。それでもIDEをクリックしてオプションを忘れるよりも、面倒ですが速いです。複数のデータベースで同じレプリケーションスクリプトを実行
"SP_MSFOREEACHDB"のようなものを試しましたが、それはあまり有望ではありませんでした。
私は、IDEから生成されたTSQLを使用して、それをパラメータとしてデータベースの名前を渡した新しいTSQLスクリプトを作成するための出発点として使用するべきだと考えています。そして、データベースの構造によって何かが変わったら、私はTSQLレプリケーションスクリプトでそれを解決し、そこに変更を加える必要があります。これは他の誰にとっても問題なのでしょうか? 2005年か2008年はより良い "SP_MSFOREACHDB"を持っていますので、いくつかのクレイジースクリプトを維持しなくても、複数のデータベースで簡単に使用できる変更がある場合にIDEでスクリプトを生成させるだけですか?
すべてのサーバーでスクリプトを実行する際にSQL Query Bridgeを使用します。私たちから無料で入手できます@ http://www.ispysql.com – IEnumerator