我有一个SSDT sql server数据库项目,我想将其部署到内部部署的SQL Server 2016和SQL Azure。
我希望能够构建此项目(使用VSTS构建代理)并获取多个DACPAC文件,每个目标平台一个。
这个问题Visual Studio Database project target platform in publish profile实际上可能就是答案。但是我觉得我可能需要单独的DACPAC用于部署方案。
答案 0 :(得分:1)
由于我使用Visual Studio进行构建,因此可以将属性参数传递给命令行
/p:DSP=Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider
这使我可以在构建时控制数据库模式提供程序。在YAML天青管道上使用此代码看起来像这样:
- task: VSBuild@1
inputs:
solution: '$(build.SourcesDirectory)\mydatabase\whoopie.sqlproj'
vsVersion: 'latest'
msbuildArgs: '/p:DSP=Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider'
答案 1 :(得分:0)
您不需要单独的dacpac或技术上甚至个人发布配置文件。您需要在发布时设置选项以允许不兼容的平台。只要您没有使用不能与该版本的SQL Server一起使用的功能,这将使您能够将数据库发布到任何支持的平台。
答案 2 :(得分:0)
答案 3 :(得分:0)