SQL Server 2012 与新 TLS 1.2 标准的兼容性
Posted
技术标签:
【中文标题】SQL Server 2012 与新 TLS 1.2 标准的兼容性【英文标题】:SQL Server 2012 Compatibility with New TLS 1.2 Standards 【发布时间】:2015-09-23 11:05:02 【问题描述】:我正在尝试关闭我的 SQL Server 2012 服务器上的 TLS 1.0 以符合 PCI 标准。
最初我遇到了一些问题,SQL Server 服务无法启动。
我在其他网站和讨论中找到了在线帮助,但结果好坏参半:
这是我到目前为止所做的:
我已经下载了 SQL Server 2012 Cumulative Update 7(CU 6 也可以),然后 SQL Server 服务可以正确启动。
我遇到了无法通过 SQL Server Enterprise Manager 登录数据库实例的问题,该问题已通过安装 .Net 4.6 得到解决。
下一个问题,运行 IIS 应用程序的客户端计算机由于“握手 SSL 错误”而无法连接到 SQL 实例。我听从了建议,安装了最新的 SNAC 原生客户端。
这很难追查,从 Microsoft 下载的最新版本是 2014 年的。然后我从 2015 年 9 月 7 日获得了 sqlnclient.msi CU 7解压生成的子文件夹-“解压文件夹路径\1033_enu_lp\x64\setup\x64”。
我已经在我的 IIS 服务器(和 .Net 4.6)上更新了本机客户端的这个版本,但我仍然无法远程连接到 SQL 实例。如果我启用 TLS 1.0,我就可以连接。
我得到的确切错误是“与服务器成功建立连接,但在登录前握手期间发生错误”。
我的诊断是我的机器上没有与 TLS 1.2 和 CU 7 兼容的正确版本的 SNAC,因为客户端和服务器无法握手。但是,这个 sqlnclient.msi 是从 CU 7 中提取的,我找不到更新的副本。
有没有其他人遇到过这个问题?您使用的是哪个版本的 SNAC?你从哪里得到的?
谢谢
【问题讨论】:
【参考方案1】:自 1 月 29 日起,Microsoft SQL Server 支持 SQL Server 2008、SQL Server 2008 R2、SQL Server 2012 和 SQL Server 2014 的 TLS 1.2 以及 Server Native Client、Microsoft ODBC Driver for SQL Server、Microsoft JDBC Driver 等主要客户端驱动程序用于 SQL Server 和 ADO.NET (SqlClient)。
关于发布的博文:http://blogs.msdn.com/b/sqlreleaseservices/archive/2016/01/29/tls-1-2-support-for-sql-server-2008-2008-r2-2012-and-2014.aspx
支持 TLS 1.2 的构建列表以及客户端和服务器组件下载位置 (KB3135244):http://support.microsoft.com/kb/3135244
【讨论】:
【参考方案2】:您是否从 KB (https://support.microsoft.com/en-us/kb/3052468) 获得客户端更新 包名:2012_SP2_SNAC_CU6_3052468_11_0_5592_x64
下载链接:http://support2.microsoft.com/hotfix/KBHotfix.aspx?kbnum=3052468&kbln=en-us
您的 IIS 站点中的提供程序名称是什么?
您将需要客户端和服务器的 KB3052468 更新。它们可在提供的修补程序下载链接上找到。
【讨论】:
以上是关于SQL Server 2012 与新 TLS 1.2 标准的兼容性的主要内容,如果未能解决你的问题,请参考以下文章
如何为来自 windows server 2012 R2 的出站请求启用 TLS 1.2?
Windows server 2012远程桌面服务(RDP)存在SSL / TLS漏洞的解决办法