You need to enable JavaScript to run this app. LINQPad 6连接本地Docker部署的SQL Server 2019报预登录握手错误,SSMS可正常连接
优惠活动
大模型
产品
解决方案
定价
更多

LINQPad 6连接本地Docker部署的SQL Server 2019报预登录握手错误,SSMS可正常连接

连接异常排查与解决步骤

问题根因定位

报错原文:已成功与服务器建立连接,但随后在预登录握手过程中发生错误(提供程序SSL错误0 - 等待操作超时)
TCP链路可正常建立但SSL预登录握手超时,且SSMS可正常连接的前提下,说明数据库服务、端口映射、账号鉴权配置均无问题,异常集中在LINQPad客户端与SQL Server 2019 docker实例的TLS协商流程。

具体排查操作

  • 调整连接加密参数
    • 打开LINQPad 6对应连接的高级设置,将默认启用的Encrypt属性从True改为False,同时将TrustServerCertificate设置为True,跳过服务端证书校验与强制加密流程。
    • 若默认连接超时过短,在自定义连接串末尾追加Connection Timeout=30参数,延长握手等待时间。
  • 修复驱动版本兼容问题
    • LINQPad 6内置的旧版本Microsoft.Data.SqlClient与SQL Server 2019默认启用的TLS 1.2协议存在握手兼容缺陷,可通过LINQPad的程序集管理模块,手动加载最新正式版Microsoft.Data.SqlClient程序集替换内置驱动,再重试连接。
  • 匹配docker端TLS配置
    • 进入SQL Server 2019运行的docker容器,执行配置命令开启多TLS版本兼容:/opt/mssql/bin/mssql-conf set network.tlsprotocols "TLS_1_0,TLS_1_1,TLS_1_2",配置完成后重启容器实例。
    • 临时关闭本地第三方安全软件的网络拦截规则,排除安全软件拦截回环端口SSL握手数据包导致的超时问题。
  • 配置对齐校验
    • 核对LINQPad连接的服务器地址、端口号与SSMS可正常连接的配置完全一致,排除端口映射偏差。
    • 参考SSMS的有效连接加密配置,完全对齐LINQPad的高级参数后重试。

内容的提问来源于stack exchange,提问作者beewest

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.30 05:06:05