如何在VSTS中发布DACPAC时忽略删除源中不存在的表?
在Azure DevOps(原VSTS)中发布DACPAC时忽略删除源中不存在的表的操作方法
嗨,我懂你遇到的问题了——你在调试菜单里看到的那个选项没法勾选是正常的,因为那不是配置发布规则的正确入口呀!咱们得在发布管道的SQL数据库部署任务里来设置这个规则,具体步骤一步步来:
- 首先,打开你的Azure DevOps发布管道,找到负责部署DACPAC的那个任务(通常叫Azure SQL Database Deployment或者SQL Server Database Deployment),点击任务名称进入配置界面。
- 然后,在任务配置项里,找到Additional Arguments(额外参数)这个输入框——这就是咱们加规则的关键地方。
- 接下来,在这个输入框里填入以下命令行参数:
这个参数的作用就是告诉SSDT引擎:不要删除目标数据库里那些源DACPAC中不存在的对象,自然也包括你想保留的那些表啦。/p:DropObjectsNotInSource=False - 最后,保存任务配置,重新运行发布管道就可以生效了。
要是你需要更精细的控制,比如只保留表,其他不存在的对象(比如存储过程)还是可以删除,那可以用更具体的参数:
/p:DropTablesNotInSource=False
补充一句:你之前在调试菜单看到的选项,是本地SSDT项目调试时的设置,和Azure DevOps管道里的部署配置是分开的,所以管道部署得用上面说的额外参数来配置才行哦。
内容的提问来源于stack exchange,提问作者user8179431
相关产品推荐
相关产品推荐

