Microsoft SQL Server 支持 TLS 1.2

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 3135244
简介
本文提供了有关启用 TLS 1.2 支持 SQL Server 2016年、 SQL Server 2008年,SQL Server 2008 R2、 SQL Server 2012 年和 SQL Server 2014年,Microsoft 将发布更新的信息。本文还列出了受支持的客户端提供程序。

几个已知的与 SSL 和早期版本中的传输层安全 (TLS) 中报告了漏洞。我们建议您升级到 TLS 1.2 进行安全通信。

重要:没有已知的 Microsoft TDS 实现已报告漏洞。这是使用 SQL Server 客户端和 SQL Server 数据库引擎之间的通信协议。

概述了 TLS 1.0 (关于这篇文章发布日期已报告给 Microsoft 的已知漏洞) 的 Microsoft Schannel 实现 TLS 1.0 Schannel 实现 Windows 安全状态更新中︰ 于 2015 年 11 月 24 日.
如何知道是否需要此更新
使用下表来确定您当前的 SQL Server 版本是否已具有支持 TLS 1.2 或您是否要下载的更新以支持 TLS 1.2。使用表中的下载链接,以获取适用于您的环境的服务器更新。

注意是晚于此表中列出的那些也支持 TLS 1.2 的生成。

SQL Server 版本第一个支持 TLS 1.2 的生成 下载链接为早期版本其他信息
SQL Server 2014 SP112.0.4439.1对于 SQL Server 2014 SP1 的累积更新 5KB 3052404 修复︰ 您不能使用传输层安全性协议 1.2 版要连接到的服务器正在运行 SQL Server 2014年或 SQL Server 2012
SQL Server SP1 GDR 201412.0.4219.0SQL Server 2014 SP1 GDR TLS 1.2 更新
SQL Server 2014 RTM12.0.2564.0

对于 SQL Server 2014年累积更新 12KB 3052404 修复︰ 您不能使用传输层安全性协议 1.2 版要连接到的服务器正在运行 SQL Server 2014年或 SQL Server 2012
SQL Server 2014 RTM GDR12.0.2271.0SQL Server 2014 RTM GDR TLS 1.2 更新
SQL Server 2012 SP3 GDR11.0.6216.27SQL Server 2012 SP3 GDR TLS 1.2 更新
SQL Server 2012 SP311.0.6518.0SQL Server 2012 sp3 的累积更新 1KB 3052404 修复︰ 您不能使用传输层安全性协议 1.2 版要连接到的服务器正在运行 SQL Server 2014年或 SQL Server 2012
SQL Server 2012 SP2 GDR11.0.5352.0SQL Server 2012 SP2 GDR TLS 1.2 更新
SQL Server 2012 SP211.0.5644.2SQL Server 2012 sp2 的累积更新 10KB 3052404 修复︰ 您不能使用传输层安全性协议 1.2 版要连接到的服务器正在运行 SQL Server 2014年或 SQL Server 2012
SQL Server 2008 R2 SP310.50.6542.0SQL Server 2008 R2 SP3 TLS 1.2 更新
SQL Server 2008 R2 SP2 GDR (仅 IA-64)10.50.4047.0SQL Server 2008 R2 SP2 GDR (IA-64) TLS 1.2 更新
SQL Server 2008 R2 SP2 (仅 IA-64)10.50.4344.0SQL Server 2008 R2 SP2 (IA-64) TLS 1.2 更新
SQL Server 2008 SP410.0.6547.0SQL Server 2008 SP4 TLS 1.2 更新
SQL Server 2008 SP3 GDR (仅 IA-64)10.0.5545.0SQL Server 2008 SP3 GDR (IA-64) TLS 1.2 更新
SQL Server 2008 SP3 (仅 IA-64)10.0.5896.0SQL Server 2008 SP3 (IA-64) TLS 1.2 更新


下载客户端组件

使用下表来下载的客户端组件和驱动程序更新适用于您的环境。

客户端组件 /driver使用 TLS 1.2 支持更新
ADO.NET 的 SqlClient (.NET Framework 4.5.2,4.5.1、 4.5).NET Framework 4.5.2 4.5.1,以及 4.5 Windows 8.1 和 Windows Server 2012 R2 上的修补程序汇总包 3099842

对于.NET Framework 4.5.2 4.5.1,以及 Windows 8 和 Windows Server 2012 4.5 修补程序汇总包 3099844

修补程序汇总包 3099845.NET Framework 4.5.2 和.NET Framework 4.5.1 在 Windows 7 的 Service Pack 1 / Windows Vista 和 Windows Server 2008 R2/Windows 服务器 2008年
ADO.NET 的 SqlClient (.NET Framework 4.0)对于在 Windows.NET Framework 4.0 修补程序汇总包 3106994

ADO.NET 的 SqlClient (.NET Framework 3.5/.NET Framework 2.0 SP2)在 Windows Server 2008 SP2 和 Windows Vista SP2.NET Framework 2.0 sp2 修补程序汇总包 3106990

在 Windows Server 2008 R2 SP1 和 Windows 7 SP1.NET Framework 2.0 sp2 修补程序汇总包 3106991

Windows Server 2012 和 Windows 8 上.NET Framework 2.0 sp2 修补程序汇总包 3106992

.NET Framework 2.0 SP2 Windows Server 2012 R2 和 Windows 8.1 的修补程序汇总包 3106993

SQL Server 本机客户端 (对于 SQL Server 2008 R2)SQL Server 本机客户端 (x86 和 x64)
SQL Server 本机客户端 (对于 SQL Server 2008 R2)SQL Server 2008 R2 的本机客户端 (IA-64)
SQL Server 本机客户端 (对于 SQL Server 2008年)SQL Server 2008年的本机客户端 (x86 和 x64)
SQL Server 本机客户端 (对于 SQL Server 2008年)SQL Server 2008年的本机客户端 (IA-64)
SQL Server 本机客户端 (对于 SQL Server 2012年和 SQL Server 2014年)Microsoft SQL Server 2012年本机客户端-QFE
SQL Server 的 Microsoft ODBC 驱动程序 对于 SQL Server-Windows Microsoft ODBC 驱动程序 11
JDBC 6.06.0 (预览)、 4.2、 4.1 中,并用于 SQL Server 4.0 的 Microsoft JDBC 驱动程序
JDBC 4.1 和 JDBC 4.26.0 (预览)、 4.2、 4.1 中,并用于 SQL Server 4.0 的 Microsoft JDBC 驱动程序
其他修补程序所需的 SQL Server 使用 TLS 1.2
您必须安装以下.NET 修补程序汇总启用 SQL Server 功能,如数据库邮件和使用.NET 终结点需要 TLS 1.2 某些 SSIS 组件支持 Web 服务任务使用 TLS 1.2 等。

操作系统.NET Framework 版本使用 TLS 1.2 支持更新
Windows 2008 服务包 2,Windows Vista Service Pack 22.0 SP2TLS v1.2.NET Framework 版本 2.0 SP2 中包含的支持
Windows 7 Service Pack 1,Windows 2008 R2 Service Pack 13.5.1对.NET Framework 3.5.1 版中包含 TLS v1.2 支持
RTM windows 8,Windows 2012 RTM3.5 英寸在.NET Framework 3.5 版包含 TLS v1.2 支持
Windows 8.1,Windows 2012 R2 SP13.5 SP1TLS v1.2 包括在.NET Framework 3.5 SP1 版 Windows 8.1 和 Windows Server 2012 R2 上的支持

常见问题及的解答
TLS 1.1 和 SSL 3.0 支持 SQL Server 2016年?

是的。SQL Server 2016versions 随附于 TLS 1.2 支持 TLS 1.0。您必须禁用 TLS 1.0 1.1 和 SSL 3.0,如果您希望仅 TLS 1.2 用于客户端-服务器通信。

TDS 受已知安全漏洞的影响?

没有已知的 Microsoft TDS 实现已报告漏洞。因为几个标准实施组织都要求 TLS 1.2 用于加密的通讯通道,Microsoft 将发布 TLS 1.2 为基础广泛的 SQL Server 安装的支持。

如何将 TLS 1.2 更新分发给客户?

本文提供的下载链接的相应的服务器和客户机更新的支持 TLS 1.2。

将为 TLS 1.2 支持 SQL Server 2005?

TLS 1.2 支持将提供仅用于 SQL Server 2008年及更高版本。

如果在服务器上禁用了 SSL 3.0 和 TLS 1.0,是不使用 SSL/TLS 受影响的客户?

是的。SQL Server 加密的用户名和密码登录期间即使未使用安全的通信信道。此更新是必需的没有使用安全的通信,并具有除 TLS 1.2 服务器上禁用所有其他协议的所有 SQL Server 实例。

哪个版本的 Windows Server 支持 TLS 1.2?

Windows Server 2008 R2 及更高版本支持 TLS 1.2。

要为 SQL Server 通讯启用 TLS 1.2 正确的注册表设置是什么?

正确的注册表设置如下所示︰
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 
这些设置所需的服务器和客户端计算机。DisabledByDefault启用设置需要在 Windows 7 的客户机和 Windows Server 2008 R2 服务器上创建。在 Windows 8 和更高版本的客户端操作系统或 Windows Server 2012 服务器和更高版本的服务器操作系统的系统上,应已启用 TLS 1.2。如果您在 Windows 注册表中需要独立于操作系统版本为实施部署策略,我们建议将上面提到的注册表项添加到策略。

哪些客户端驱动程序的支持 TLS 1.2 通信与 SQL Server 数据库引擎?

" "下载客户端组件"表 列出受支持的客户端。
已知的问题
问题 1

您应用此修复程序的 SQL Server 2008 中,2008 R2,2012 年或 2014年后,SQL Server 管理 Studio (SSMS)、 报表服务器和报表管理器未连接到数据库引擎。报表服务器和报表管理器失败,并返回以下错误消息︰

报表服务器不能打开到报表服务器数据库的连接。与数据库的连接都需要所有请求和处理。() rsReportServerDatabaseUnavailable

此问题是因为 SSMS、 报表管理器和报告服务配置管理器使用 ADO.NET,并且仅适用于.NET Framework 4.6 ADO.NET 支持 TLS 1.2。对于.NET Framework 的早期版本,您必须应用 Windows 更新,以便 ADO.NET 可以为客户端支持 TLS 1.2 通信。在早期版本的.NET 框架支持 TLS 1.2 的 Windows 更新"如何知道是否需要此更新"部分中的表中列出。

问题 2

即使客户端提供程序已更新为支持 TLS 1.2 版本报告服务配置管理器报告以下错误消息︰

无法连接到服务器︰ 已成功建立连接到服务器,但在登录前的握手过程中发生错误。

错误消息

要解决此问题,请手动承载报告服务配置管理器的系统上创建以下注册表项︰

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client : "Enabled"=dword:00000001

问题 3

使用 TLS 1.2 加密终结点通信失败时的可用性组或数据库镜像或在 SQL Server 中的服务中介程序中使用加密的通信。在 SQL 错误日志中记录类似于以下内容的错误消息︰

连接握手失败。OS 调用的操作失败: (80090331) 0x80090331 (客户端和服务器无法通信,因为它们不具备常见算法。)。56 的状态。

有关此问题的详细信息,请参阅 修复︰ 当您使用 SQL Server 与 TLS 1.2 的加密终结点通信失败.

问题 4

当您尝试在已启用 TLS 1.2 的服务器上安装 SQL Server 2012年或 SQL Server 2014年时可能发生各种错误。

有关详细信息,请参阅 已启用 TLS 1.2 的服务器上安装 SQL Server 2012年或 SQL Server 2014年时的修补程序︰ 错误.

问题 5

数据库镜像或可用性组加密的连接不工作时禁用所有其他协议除 TLS 1.2 后使用的证书。在 SQL Server 错误日志中记录类似于以下内容的错误消息︰

数据库镜像或可用性组加密的连接不工作时禁用所有其他协议除 TLS 1.2 后使用的证书。您可能会注意到下列症状之一︰

Symptom1:

在 SQL Server 错误日志中记录类似于以下内容的错误消息︰
连接握手失败。OS 调用的操作失败: (80090331) 0x80090331 (客户端和服务器无法通信,因为它们不具备常见算法。)。58 状态。
现象 2:

在 Windows 事件日志中记录类似于以下内容的错误消息︰
登录名称︰ 系统
来源︰ 频道
日期︰<Date time="">
事件 ID: 36888
任务类别: 无
级别︰ 错误
关键字︰
用户: 系统
计算机:--
说明:
严重警报已生成并发送到远程终结点。这可能会导致连接终止。TLS 协议定义的错误代码为 40。Windows SChannel 错误状态是 1205年。

登录名称︰ 系统
来源︰ 频道
日期︰<Date time="">
事件 ID: 36874
任务类别: 无
级别︰ 错误
关键字︰
用户: 系统
计算机:--
说明:
从远程客户端应用程序,收到一个 TLS 1.2 连接请求,但客户端应用程序支持的密码套件没有一个受服务器。SSL 连接请求失败。</Date></Date>

出现此问题是因为可用性组和数据库镜像需要证书不使用固定长度如 MD5 哈希算法。固定的长度的哈希算法不支持 TLS 1.2。

有关详细信息,请参阅 修复︰ 使用 MD5 哈希算法的通信失败,如果 SQL Server 使用 TLS 1.2.

问题 6

在知识文库文章中报告间歇性服务终止问题会影响以下 SQL Server 数据库引擎版本 3146034.为了保护自己免受服务终止问题的客户,我们建议它们为如果下表中列出其 SQL Server 版本,本文中提到的 Microsoft SQL Server 安装的 TLS 1.2 更新。

SQL Server 版本受影响的版本
SQL Server 2008 R2 SP3 (x 86 和 x64)10.50.6537.0
SQL Server 2008 R2 SP2 GDR (仅 IA-64)10.50.4046.0
SQL Server 2008 R2 SP2 (仅 IA-64)10.50.4343.0
SQL Server 2008 SP4 (x 86 和 x64)10.0.6543.0
SQL Server 2008 SP3 GDR (仅 IA-64)10.0.5544.0
SQL Server 2008 SP3 (仅 IA-64)10.0.5894.0
问题 7

数据库邮件并不适用于 TLS 1.2。数据库邮件失败时出现以下错误︰
Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException:
无法从数据库中读取邮件配置信息。
….

..Unable,以启动邮件会话。
有关其他信息请参阅本文中其他修补程序所需的 SQL Server 使用 TLS 1.2节。

属性

文章 ID:3135244 - 上次审阅时间:08/04/2016 07:38:00 - 修订版本: 4.0

Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Service Pack 2, Microsoft SQL Server 2008 R2 Service Pack 3, Microsoft SQL Server 2008 Service Pack 1, Microsoft SQL Server 2008 Service Pack 2, Microsoft SQL Server 2008 Service Pack 3, Microsoft SQL Server 2008 Service Pack 4, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Enterprise Core, Microsoft SQL Server 2012 Service Pack 1, Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2012 Service Pack 3, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Service Pack 1, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2016 Developer, Microsoft SQL Server 2016 Enterprise, Microsoft SQL Server 2016 Enterprise Core, Microsoft SQL Server 2016 Express, Microsoft SQL Server 2016 Standard, Microsoft SQL Server 2016 Web

  • kbqfe kbsurveynew kbexpertiseadvanced kbmt KB3135244 KbMtzh
反馈