背景情報:
異なる SQL サーバー間でストアド プロシージャを同期するためのバッチ ジョブを設定しようとしています。すべてのストアド プロシージャを別の .sql ファイルにエクスポートして、自分のフォルダーに入れました。新しいストアド プロシージャを作成したり、それらの複数のサーバー用に変更したりするときはいつでも、希望どおりになるまで 1 つのサーバーでテストします。その後、自分のフォルダーにエクスポートします。それを他のサーバーに展開するには、バッチを実行するだけです。それだけです。
私は自分のバッチを思い通りにほぼ把握しました。唯一の問題は、sqlcmd が標準のバッチ セパレータ 'GO' ( 'Incorrect syntax near 'GO'.'
) を好まないように見えることです。そのため、デフォルトのバッチセパレーターを「RUN」に変更し、.sql ファイルの各「GO」コマンドを「RUN」に置き換え-c RUN
て、sqlcmd
コマンドに追加しました。
しかし、それは私に教えてくれ'Incorrect syntax near 'RUN'.'
ます。
テスト目的で、次のように縮小された1つのSQLファイルで試してみました。
USE [MyDatabase]
GO
それでもうまくいきませんでした。どうすればそれを機能させることができますか?