You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Pipeline中用DACPAC更新服务器数据库且不删库重建

SSDT DACPAC增量部署实现(保留现有对象)

1. 调整SSDT项目部署配置

  • 打开SSDT项目的属性窗口,切换到「部署」选项卡
  • 取消勾选「生成部署脚本时删除不在源中的对象」(对应英文选项Drop objects not in source)
  • 将「部署操作」设置为「增量部署」,避免重建整个数据库
  • 按需配置「忽略」选项:比如勾选忽略权限、扩展属性等不需要同步的差异项,减少部署时的不必要操作

2. 配置Azure Pipeline部署任务参数

在Azure Pipeline的DACPAC部署任务(如SqlAzureDacpacDeployment或SqlDacpacDeploymentOnMachineGroup)中,找到「Additional Arguments」(额外参数)输入框,添加以下SqlPackage.exe控制参数:

  • /p:DropObjectsNotInSource=False:强制禁止删除目标库中存在但SSDT项目里没有的对象
  • /p:DoNotDropDatabase=True:确保部署过程不会删除目标数据库本身
  • /p:DeploymentType=Incremental:明确指定采用增量部署模式,仅同步变更内容
  • 可选补充参数:根据需求添加,比如/p:IgnorePermissions=True忽略权限差异、/p:IgnoreExtendedProperties=True忽略扩展属性

示例额外参数:

/p:DropObjectsNotInSource=False /p:DoNotDropDatabase=True /p:DeploymentType=Incremental /p:IgnorePermissions=True

3. 验证部署效果

  • 本地测试:修改SSDT项目中单个表或存储过程,生成DACPAC后部署到测试库,确认仅目标对象被更新,其他现有对象无变动
  • Pipeline验证:运行部署流水线后,检查目标数据库,确认未删除任何原有对象,仅变更内容生效

内容的提问来源于stack exchange,提问作者Tahami Rizwan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 01:47:35