SQL サーバーのデータベースで複数のスクリプト ファイルを実行する、以下のリンクの投稿で説明されている主題を続けていただければ幸いです。
TransactSQL による別の TransactSQL スクリプトの実行
ここ私の会社でも同様の問題があります。本番前と本番の 2 つの環境があります。新しいリリースを開発しているとき、本番の最小のコピーである本番前のデータベースに多くの変更が加えられます。これらの変更により、一連のスクリプト ファイル (CREATE、ALTER VIEWS、TABLES、INSERT などのコマンドを含むことができる *.sql ファイル) が生成され、SVN を使用して制御しようとします (ファイル名はわかっています)。この変更を公開する必要がある場合、これらのスクリプトは実稼働データベースで 1 つずつ実行されます。
問題は、私たち (開発者チーム) が本番データベースでスクリプトを実行する権限を持っていないことです。これは DBA によって行われ、ほとんどの場合、これらのスクリプトの 1 つに一時的なシステム クラッシュを引き起こす可能性のあるエラーがあります。
この投稿で説明したソリューションを使用して、すべてのスクリプト ファイルをアトミックに実行し、問題が発生した場合はロールバックする方法があります。おそらく、BEGIN TRANS、COMMIT、および ROLLBACK ステートメントを使用します。
助言がありますか?
ありがとう