私たちの SQL Server 2000 インスタンスは、クライアントごとに 1 つずつ、すべて類似した複数のデータベースをホストしています。それらをすべて更新するときが来たら、Red Gate SQL Compare を使用して、開発データベースとすべてのクライアント データベースの現在の状態 DB のコピーとの間の移行スクリプトを生成します。
SQL Compare はトランザクションのスクリプトを生成します。1 つのステップが失敗すると、スクリプトはすべてをロールバックします。しかし現在、私たちのシステムでは、スクリプトをバッチ セパレータ ( GO ステートメント) で分割し、各コマンドを個別に実行する方法を使用しています。これにより、すべてのトランザクションが台無しになります。プログラミングによってデータベースを照会する場合、GOステートメントはサポートされません (クラシック ASP)。
ツールでプログラムまたは手動で、これらすべてのデータベース (250 DB など) でそのスクリプトを実行する (トランザクションを保持する) 方法を知りたいですか? Query Analyzerでは、各 DB を選択してRunを押す必要がありますが、これは DB の数に対して非常に長い時間です。