Azure Pipeline:SqlDacpacDeploymentOnMachineGroup任务sqlInline模式传递Encrypt=False方法
解决SqlDacpacDeploymentOnMachineGroup sqlInline模式连接SSL证书错误
针对你遇到的SSL证书链信任问题,不用连接字符串的话,有两种可行方案:
方案1:通过SqlAdditionalArguments传递sqlcmd参数
直接在任务中添加SqlAdditionalArguments参数,使用sqlcmd的内置参数绕过证书验证或关闭加密:
- 信任服务器证书(推荐,保留加密连接同时跳过证书链验证):
- task: SqlDacpacDeploymentOnMachineGroup@0 inputs: TaskType: 'sqlInline' InlineSql: 'sql command' ServerName: 'serverUrl' DatabaseName: 'db_name' AuthScheme: 'sqlServerAuthentication' SqlUsername: 'username' SqlPassword: $(DATABASE_PASSWORD) SqlAdditionalArguments: '-C'
- 直接关闭加密连接(和你之前用的
Encrypt=False效果一致):
- task: SqlDacpacDeploymentOnMachineGroup@0 inputs: TaskType: 'sqlInline' InlineSql: 'sql command' ServerName: 'serverUrl' DatabaseName: 'db_name' AuthScheme: 'sqlServerAuthentication' SqlUsername: 'username' SqlPassword: $(DATABASE_PASSWORD) SqlAdditionalArguments: '-N off'
方案2:设置环境变量关闭sqlcmd加密
通过任务的环境变量配置,强制关闭sqlcmd的加密要求:
- task: SqlDacpacDeploymentOnMachineGroup@0 inputs: TaskType: 'sqlInline' InlineSql: 'sql command' ServerName: 'serverUrl' DatabaseName: 'db_name' AuthScheme: 'sqlServerAuthentication' SqlUsername: 'username' SqlPassword: $(DATABASE_PASSWORD) env: SQLCMDSSL: 0
内容的提问来源于stack exchange,提问作者giocarmine
相关产品推荐
相关产品推荐

