sqlcmd:错误:Microsoft ODBC Driver 18 for SQL Server:SSL 提供程序:[错误:0A000086:SSL 例程::证书验证失败:自签名证书] [重复]

Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server:SSL Provider: [error:0A000086:SSL routines::certificate verify failed:self-signed certificate] [duplicate]

提问人:user51 提问时间:10/27/2023 最后编辑:marc_suser51 更新时间:10/29/2023 访问量:174

问:

我正在 Docker 容器中创建 SQL Server 实例。

$ sudo docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Adminxyz22#" -p 1433:1433 --name sql3  -d mcr.microsoft.com/mssql/server:2022-latest
bd7603e0df04a9ec23cfb089ee43bf5723ab4f1c881aefaf896c9ef11d2d909f

当我做sudo docker ps

$ sudo docker ps -a
CONTAINER ID   IMAGE                                        COMMAND                  CREATED          STATUS                        PORTS                                            NAMES
285722569f6e   mcr.microsoft.com/mssql/server:2022-latest   "/opt/mssql/bin/perm…"   9 minutes ago    Exited (0) 6 minutes ago 

现在我尝试使用 sqlcmd 连接到 Docker 容器 SQL Server,出现此错误:

sqlcmd -S localhost,1433 -U SA -P "Adminxyz22#"
Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server : SSL Provider: [error:0A000086:SSL routines::certificate verify failed:self-signed certificate].
Sqlcmd: Error: Microsoft ODBC Driver 18 for SQL Server : Client unable to establish connection. For solutions related to encryption errors, see https://go.microsoft.com/fwlink/?linkid=2226722.

当我登录到 docker 容器并执行 sqlcmd 时,它工作正常。

$ sudo docker exec -it bd7603e0df04 /bin/bash
mssql@bd7603e0df04:/$ /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "Adminxyz22#"
1>

如何修复错误?

sql-server sqlcmd

评论

0赞 AlwaysLearning 10/27/2023
旁白。。。 是用于设置 SA 密码的已弃用环境变量。虽然它仍然有效 - 目前 - 但您应该过渡到使用环境变量,如 mcr.microsoft.com/mssql/server 文档中所示。SA_PASSWORDMSSQL_SA_PASSWORD
1赞 AlwaysLearning 10/27/2023
除非手动安装组织签名或 CA 签名的证书,否则 SQL Server 实例将自签名证书用于其 TLS 加密连接。通读 ODBC Driver 18.0 for SQL Server 已发布的 Encrypt = true, by default 部分,以便查看可用的替代方法。
0赞 Charlieface 10/27/2023
假设您不关心安全性,只想盲目信任证书,请将参数添加到-Csqlcmd
0赞 user51 10/28/2023
感谢您的评论@Charlieface奏效。想发布答案吗?

答: 暂无答案