SSMS 18与19中SQLCMD模式连接报错,如何在脚本中添加SSL属性?
解决SSMS 19中SQLCMD脚本连接SSL证书错误的问题
原脚本在SSMS 18的SQLCMD模式下可正常运行:
:Connect PROD_DB use [Database1] select * from people
但在SSMS 19中执行时会抛出以下错误:
致命脚本错误。无法打开SQLCMD脚本中指定的连接。已成功与服务器建立连接,但登录过程中发生错误。(provider: SSL Provider, error: 0 - 目标主体名称不正确。)
要在脚本中直接包含加密连接和信任服务器证书的设置,只需修改:Connect命令,添加对应的参数即可:
修改后的完整脚本:
:Connect PROD_DB -Encrypt YES -TrustServerCertificate YES use [Database1] select * from people
参数说明:
-Encrypt YES:启用连接加密,对应SSMS连接属性里的「Encrypt connection」选项-TrustServerCertificate YES:信任服务器证书,跳过证书主体名称校验,对应「Trust server certificate」选项
这样修改后,无需修改已注册服务器的连接属性,脚本就能在SSMS 19的SQLCMD模式下正常运行。
内容的提问来源于stack exchange,提问作者Rod
相关产品推荐
相关产品推荐

