5

VS2013 経由で SQLProj (データベース プロジェクト) を展開しようとしていますが、フィードバックを使用できる問題が発生しています。

変更を公開すると、テーブルに対して CCRD (作成、コピー、名前変更、削除) 操作が実行されます。PreDeploy スクリプトで作成してコピーし、PostDeploy スクリプトで名前の変更と削除を行います。これらのステートメントを Try...Catch ブロックにカプセル化し、エラー メッセージを出力します。デプロイ前およびデプロイ後のスクリプトで問題が発生すると、発行が完了し、発行が成功したことが示されます。これらのスクリプトでエラーが発生したときの動作を変える必要があります。これらのスクリプト内でエラーが発生すると、発行が失敗することを望みます。THROW コマンドでエラーをスローしようとしましたが、実行時に重大度を 20 に設定する RAISERROR コマンドを試しました。これにより、BOL に従って接続が終了するはずですが、それでも公開は「成功」のステータスで完了します。

4

2 に答える 2

2

私たちが行ったことは、プロセスを分割することです。スクリプト アクションで SQLPackage.exe を使用します。次に、SQLCMD.exe を使用してスクリプトを実行します。そうすれば、pre/main/post を含むスクリプトが 1 つあり、SQLCMD を使用すると、エラーが発生したときに実行が停止します。

于 2016-09-15T12:27:19.633 に答える