0

現在、 SqlPackage.exe を使用してコマンド ラインからアプリケーション データベースの展開を自動化していますが、データ層アプリケーションのバージョンを更新する方法が見つかりません。

(開発はもちろん…)

http://msdn.microsoft.com/en-us/library/hh550080%28v=vs.103%29.aspx

/Action:Publish を使用して、新しく構築した *.dacpac をプッシュしていますが、これが不可能な場合、バージョンは常に v1.0.0.0 のままです。ExtendedProperty を変更するにはどうすればよいでしょうか。

データベースを見て、インストールされているバージョンを参照したいだけです。

何か案は?

4

2 に答える 2

1

含む

/p:RegisterDataTierApplication=true

コマンド ラインの一部として、公開されているDACPACのバージョンで SqlPackage.exe にデータ層メタデータに格納されているバージョンを更新させることができました。

私のテストでは、ターゲット データベースが既に登録されている場合、 RegisterDataTierApplicationtrueに設定するとアップグレードが実行されることがわかりました。基本的に、このプロパティはSqlPackage.exeに対して、変更されたオブジェクトを公開するだけでなく、データ層パッケージとして DACPAC を公開する必要があることを伝えます (したがって、ドリフトが発生します)。

したがって、私が使用する完全なコマンドは

SqlPackage.exe /a:publish /tcs:<target connection string> /sf:<DACPAC file path> /p:RegisterDataTierApplication=true /p:BlockWhenDriftDetected=false

( SqlPackage.exe/p:BlockWhenDriftDetected=falseがドリフトを検出したというエラーを返していたので、含める必要があることがわかりました。/a:deployreportはドリフトを報告しませんでした。)

于 2016-02-03T02:43:36.447 に答える