我有Windows 2k8 Server R2 Std
安装了SQL Server 2k8 Std。 所有完全修补和更新,甚至可选的补丁。
我已经为TLS 1.2安装了适用于SQL Server的补丁(KB3144113),并且SQL Server服务运行正常。没有问题。所以我假设我禁用了TLS 1.0和1.1,它在TLS 1.2下工作正常。
现在我使用的是.NET Framework 4.5.2,因此我安装了ADO.NET客户端汇总(KB3099845) 检查注册表,它反映了.NET 4.5.2版本4.5.52333
但我不能再使用SSMS连接到服务器上运行的实例。 我已经验证了客户端和服务器都使用TLS 1.2
所需的注册表项当我在服务器上执行SELECT @@ version时,我得到了这个:
Microsoft SQL Server 2008(SP4-OD)(KB3144113) - 10.0.6547.0(X64)2016年2月22日19:04:50版权所有(c)1988-2008 Windows NT 6.1上的Microsoft Corporation标准版(64位) (Build 7601:Service Pack 1)
我有另一个安装了相同操作系统和SQL Server的数据库服务器,它似乎工作正常。
为什么我无法连接到SQL Server实例的任何想法? 如果你转到KB3135244页面,在"已知问题" 我基本上看到问题1和问题2的组合。 当我尝试使用SSMS登录到SQL Server实例时,我收到了问题2中的错误。
我昨天尝试的事情:
卸载了两个补丁。一个用于TLS 1.2,另一个用于ADO.NET
此时启用TLS 1.0,一切正常。如果我禁用TLS 1.0并且仅启用TLS 1.2,那么正如预期的那样SQL Server无法启动。
安装TLS 1.2补丁。 然后SQL Server将启动,但SSMS仍然无法连接到该实例。哪个好,就像预期的那样。 我们的ColdFusion Web服务器将很好地连接到SQL实例并提取数据。
重新安装.NET 4.5.2,然后重新安装ADO.NET补丁。 SQL Server仍然运行良好,连接到它可以很好地从CF. 但是SSMS不会连接到它。
我使用SQL安装程序对共享工具进行了修复。不工作 是否卸载/重新安装了共享工具。没用。
如果我启动SSMS并选择Integration Services,我可以连接到它。 但仍然不是SQL Server实例。 如果我在SSMS中选择数据库引擎 对于服务器名称,请选择“浏览更多...”,然后选择“网络服务器”选项卡
我可以看到我在其他几台计算机上运行的SQL服务器......这就是SQL 2000 但它没有看到SQL 2K8的实例在本地服务器上运行。
如果我重新启用TLS 1.0,那么我可以连接.....
正如我上面所述,我有另一台服务器运行几乎相同的配置,它工作正常。 但不是这个。
感谢您的时间
答案 0 :(得分:0)
好的,搞定了。 我安装了: ADO.NET - SqlClient(.NET Framework 3.5 / .NET Framework 2.0 SP2) 这似乎纠正了这个问题。不知道为什么,因为我确定我安装了4.5.2。