2016-12-01 8 views
0

SQL Server 2014ターゲットを使用して、1つのデータベースに対して1つのdacpacファイルと1つのdacpacファイルがあります。リストの最後のデータベースは他のデータベースに依存しています。複数のSQL Serverデータベースを一度に展開する

sqlpackage.exeを使用して個別に各.dacpacを展開できます。

このコンテキストの正しい言葉であれば、これは「トランザクション的に」行われます。つまり、5つのデータベースを作成するときに、展開が間違っているとすべての展開がロールバックされます。

すべてのデータベースが作成されているか、存在しないかのいずれかです。

これは実現可能ですか、もしそうなら、どうすればいいですか?もし私がPowershellスクリプトに賛成ではないと思うのです。

ありがとうございます。

答えて

0
PowerShellを使用すると、手動で「取引」

まずdacpacsを展開PowerShellスクリプトを作成をコントロールする必要がありますが、それを行うことができます

- あなたがして、各sqpackage.exeコマンドラインをコピーして貼り付けることができるはずIE目的のパラメータ

次に、各コマンドをpowershell tr​​y/catchブロックでラップすると、各キャッチセクションに適切な手動ロールバックコマンドを設定して、各ステージを整理する必要があります。

+0

こんにちはジンボ、返信ありがとうございます。 1つのSqlトランザクションで5つのsqlpackage.exe展開を参加させることは可能ですか?このw/googleに関する情報を見つけようとしましたが、多くの喜びはありませんでした。 – Scott

+0

No. dacpacはdropデータベースを使用します - そのコマンドはt-sqlトランザクションでは使用できません。 – Jimbo

関連する問題