我刚刚安装了 SQL Server Management Studio,我正在尝试连接到 SQL Server 2014。它显示一条错误消息“已成功与服务器建立连接,但在登录过程中出现错误。(提供者:SSL 提供者,错误:0 - 客户端和服务器无法通信,因为它们没有通用算法。)”
我同事的 SSMS 连接没有问题,所以我确定服务器正在工作。
从我目前发现的情况来看,这是因为 TLS 版本问题,我应该升级 SQL Server。不幸的是,我不控制服务器,只控制客户端,而且我不知道 DBA 何时会开始更新。我不能只是等待他们找时间更新。
我尝试了 SSMS 2016 版本 13.0.16106.4 和 SSMS v17.9.1 版本 14.0.17289.0。
我可以在我的机器上做些什么来确保它连接到服务器?
可能导致这种情况的一个问题是,作为安全强化过程的一部分,是否在客户端上禁用了 TLS 1.0。由于您尝试连接的 SQL Server 版本不支持系统上启用的 TLS 版本,因此连接失败。
如果您无法升级 SQL Server,唯一的解决方案是在运行 SSMS 的系统上启用 TLS 1.0。这可以通过修改传输层安全 (TLS) 注册表设置中指定的相应注册表设置来完成
注册表路径:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
要启用 TLS 1.0 协议,请在客户端或服务器子项中创建一个 Enabled 条目,如下表所述。默认情况下,注册表中不存在此项。创建条目后,将 DWORD 值更改为 1。