さまざまな環境にデプロイできる出力 dacpac ファイルを生成しようとしています。これまでは、次のようなターゲット パブリッシュを使用して msbuild から直接デプロイしていました。
msbuild dbproject.sqlproj /t:Build;Publish /p:SqlPublishProfilePath=test.publish.xml /p:UpdateDatabase=True /p:PublishScriptFileName=test.sql
生成される出力スクリプトのサイズ (UpdateDatabase が true に設定されているため、参照用) は 2.5MB です。
私の新しいアプローチは、プロジェクトをビルドし、dacpac を保存してから、アクション「発行」で sqlpackage を使用してデプロイすることです。この新しいメソッドは、msbuild SqlPublishTask では報告されなかったいくつかの警告を報告しています。
参考までに、次のコマンドを実行しました。
sqlpackage.exe /action:script /outputpath:test.sql /sourcefile:dbproject.dacpac /pr:test.publish.xml
出力スクリプトのサイズは 4.9MB になりました。
報告された特定の警告はここでは問題ではありません。問題はスクリプトが異なることです。私の質問は違いは何ですか?
さらに重要なことに、展開を行うための最良/最も安全な方法はどれですか?