必须手动开启Navicat的Use SSL开关,否则即使SQL Server已配置证书并启用强制加密,连接仍走明文;服务端需在配置管理器中绑定有效证书、启用TCP/IP、勾选Force Encryption,且驱动推荐ODBC Driver 18。

必须手动开启 Navicat 的 SSL 开关,否则即使 SQL Server 已配置证书并启用强制加密,连接仍走明文、直接失败。
SQL Server 服务端必须先完成证书绑定与强制加密启用
Navicat 不生成也不校验证书,它只消费服务端提供的加密通道。如果服务端没配好,客户端再怎么调都连不上。
- 打开
SQL Server 配置管理器→SQL Server Network Configuration→Protocols for [实例名]→ 右键启用TCP/IP - 双击
TCP/IP→SSL Certificate下拉框必须选中一个有效证书(不能是“无”或灰色不可选) - 确认 Windows 事件查看器中
SQL Server (MSSQLSERVER)日志没有The certificate was not loaded错误 - 在
SQL Server 配置管理器→SQL Server Services中右键实例 →属性→Flags页,勾选Force Encryption并设为Yes
Navicat 连接设置里 Use SSL 是硬开关,不是可选项
很多用户填了 SSL Mode 却连不上,根本原因是没勾选 Use SSL。这个复选框不勾,后面所有 SSL 相关配置全被忽略。
- 编辑连接 → 切到
Security选项卡 - 务必勾选
Use SSL(这是第一道门槛) -
SSL Mode推荐选Require:只要求加密,不校验证书,适合内网自签场景 - 若选
Verify-CA或Verify-Full,必须提供本地ca.pem文件路径,且Host字段必须和证书里的CN或SAN完全一致(大小写、点号、通配符都敏感)
驱动版本不匹配会导致 SSL 握手静默失败
ODBC Driver 17/18 才完整支持 TDS 8.0 和现代 TLS 协商流程。用老驱动(如 Native Client 11.0)连 SQL Server 2019+,可能报错含糊、超时或直接拒绝 SSL 协商。
- 在 Navicat 连接设置的
General页,检查Native Client字段 - SQL Server 2019/2022 推荐填:
ODBC Driver 18 for SQL Server(需提前安装) - 不要填
SQL Server Native Client 11.0或空着,默认值往往过时 - 若不确定系统装了哪些驱动,Win + R 输入
odbcad32→ 查看Drivers页签
“Cannot generate SSPI context”不是 SSL 问题,别往证书上瞎调
这个错误 90% 和证书无关,而是 Windows 身份验证(Integrated Security)在启用强制加密后无法完成 SSPI 协商。强行在校验证书路径、重装驱动上折腾只会掩盖真正问题。
- 临时改用
SQL Server Authentication(账号密码登录)测试是否能连通 - 若必须用 Windows 认证,需确保 SQL Server 服务账户对证书私钥有读取权限(右键证书 →
Manage Private Keys→ 添加服务账户) - 避免在未验证基础连通性前同时开启强制加密 + Windows 认证 + Verify-Full,故障叠加会让排查失效
最容易被忽略的是:SQL Server 的 Force Encryption = Yes 和 Navicat 的 Use SSL 必须同时生效,缺一不可;而驱动版本错配时,错误表现常被误判为证书或网络问题。











