从Azure DevOps部署SQL数据库至本地服务器遇证书信任问题求助
解决Azure DevOps部署SQL数据库到本地SQL Server的证书信任问题
问题根源
SQLPackage.exe 16.x版本默认启用了连接加密,而本地SQL Server一般使用自签名证书,该证书未被Azure DevOps代理所在机器信任,导致登录时出现证书链不被信任的错误。
可行解决方案
方案1:添加信任服务器证书参数
在Azure DevOps的「SQL Server数据库部署」任务中,找到Additional Arguments(额外参数)输入框,填入以下参数:
/p:TrustServerCertificate=True
该参数会让SQLPackage跳过证书链验证,直接信任服务器证书,快速解决连接问题。
方案2:导入SQL Server证书到代理机器的受信任根存储
- 在本地SQL Server机器上,打开MMC控制台,添加「证书」管理单元,定位到「本地计算机 > 个人 > 证书」,找到SQL Server的自签名证书
- 将证书导出为Base-64编码的X.509格式文件
- 在Azure DevOps代理所在机器上,打开MMC控制台,添加「证书」管理单元,定位到「本地计算机 > 受信任的根证书颁发机构 > 证书」
- 导入导出的证书,完成后重启Azure DevOps代理服务
方案3:修改SQL Server加密配置(仅测试环境推荐)
在SQL Server配置管理器中,找到「SQL Server网络配置 > 目标实例协议」,右键点击「TCP/IP」:
- 若已有可信证书,在「证书」选项卡选择该证书
- 若无需加密,在「标志」选项卡将「强制加密」设为「否」
此方法会降低连接安全性,不建议生产环境使用。
内容的提问来源于stack exchange,提问作者delphiman
相关产品推荐
相关产品推荐

