Я пытаюсь создать выходной файл dacpac, который затем могу развернуть в разных средах. До сих пор я не развертывает непосредственно от MSBuild, используя цель опубликовать, что-то вроде:Различия между SqlPackage.exe и MsBuild SqlPublishTask
msbuild dbproject.sqlproj /t:Build;Publish /p:SqlPublishProfilePath=test.publish.xml /p:UpdateDatabase=True /p:PublishScriptFileName=test.sql
Размер Ouput сценария генерируемой (только для справки, как UpdateDatabase устанавливается истина) является 2.5MB.
Мой новый подход заключается в том, чтобы просто построить проект, сохранить dacpac, а затем развернуть с помощью sqlpackage с действием «Опубликовать». Этот новый метод сообщает о некоторых предупреждениях, о которых не сообщалось в msbuild SqlPublishTask.
Для справки я побежал следующую команду:
sqlpackage.exe /action:script /outputpath:test.sql /sourcefile:dbproject.dacpac /pr:test.publish.xml
и размер выходного сценария теперь 4.9MB.
Конкретные предупреждения, о которых идет речь, не являются предметом озабоченности, беспокойство заключается в том, что сценарий отличается, мой вопрос в чем разница?
и что еще более важно, какой из них был бы лучшим/безопасным способом для развертывания?