SQL Server 默认情况下

发布时间:2025-06-24 21:13:16  作者:北方职教升学中心  阅读量:097


  • 你可以从一个值得信赖的人那里得到信任 CA 获取证书󿀌或者使用 OpenSSL 生成自签证书。:

    • 在 Windows 上,你可以使用 。

      这里的。

    • 方法 5: 使用环境变量配置 SQL Server。/etc/ssl/certs。docker cp。sqlcmd。参数告诉。

  • 方法 4: 使用 。以下是几种解决方案:

    方法 1: 验证禁用证书。 MSSQL_TLS_KEY。SQL Server 默认情况下,
  • 运行。

    /opt/mssql/bin/mssql-conf set network.ssl 0。
  • sqlcmd -S localhost -U sa -P 'YourStrong!Passw0rd' -C。您可以进入容器并使用它 。certmgr.msc。 配置 SQL Server。mssql-conf。openssl。

    开发或测试环境,您可以通过禁用证书验证来绕过这个问题。:

    • 使用 。请注意,不建议在生产环境中使用这种方法,因为它会降低安全性。
  • 将证书导入客户端的信任存储。

方法 3: 信任自签证书。

为了提高安全性,你可以为 SQL Server 配置一个受信任的 CA(证书颁发机构)签发的证书。

  1. 生成或获得证书。

    如果使用自签证书,可将其添加到客户端信任证书列表中。

    遇到这个错误通常是因为 SQL Server 尝试与客户端合作 SQL Server 建立安全连接时,服务器提供的证书无法验证。

    您还可以在启动容器时通过环境变量进行配置 SQL Server 使用特定证书。

    • 从 SQL Server 签名证书从容器中导出。 sqlcmd。

      这里的。 -C。

      方法 2: 使用自定义证书。

      docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=YourStrong!Passw0rd' \   -e 'MSSQL_TLS_CERTIFICATE=/path/to/your/certificate.pem' \   -e 'MSSQL_TLS_KEY=/path/to/your/privatekey.pem' \   -p 1433:1433 --name sqlserver -d mcr.microsoft.com/mssql/server:2019-latest。 mssql-conf。

      • 进入容器内部󿀌使用 SQL Server 配置管理器或其他工具 SQL Server 使用新证书。

    • 配置 SQL Server 使用此证书。

      docker exec -it sqlserver /bin/bash。 连接时禁止验证证书。容器将生成自签证书,该证书可能不会被客户端信任,导致连接失败。和。 mssql-conf。环境变量指定了证书和私钥的路径。 目录,并更新证书索引。忽略证书验证错误。

      错误:

      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。

      使用 。 命令将证书文件复制到容器中。 导入证书。

      若您有权访问 SQL Server 容器,可以使用。 工具导出证书。

      工具来配置 SQL Server 网络设置,包括证书。

      1. 导出签名证书。

        1. 进入容器。

        2. 在 Linux 上,您可以添加证书 。
  2. 复制证书文件 SQL Server 容器中。 MSSQL_TLS_CERTIFICATE。