使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

症状

当您尝试在已启用传输层安全性(TLS)版本1.2 的服务器上安装 Microsoft SQL Server 2012 或 SQL Server 2014 时,您可能会遇到以下问题:

  • 如果你尝试安装的 SQL Server 版本不包含启用 TLS 1.2 支持的修补程序(有关添加 TLS 1.2 支持的版本的详细信息,请参阅 KB 3052404),你将收到以下错误消息:

    等待数据库引擎恢复句柄失败。 检查 SQL Server 错误日志以了解可能的原因。

  • 如果你尝试安装的 SQL Server 版本包含启用 TLS 1.2 支持的修补程序, 则会收到 以下错误消息:

    已成功建立与服务器的连接,但在预登录握手期间发生了错误。 (提供程序:命名管道提供程序,错误: 0-管道另一端没有进程。)

在这两种情况下,安装将失败。

原因

之所以会出现此问题,是因为 SQL Server 安装程序使用 .NET Framework 2.0 中 ADO.NET 的 SqlClient。 默认情况下,.NET Framework 2.0 适用于 TLS 1.0。

解决方案

若要解决此问题,请安装 .NET Framework 的修补程序汇总,然后重新启动服务器。 根据你运行的操作系统和 SQL Server 版本,使用下表查找相应的修补程序:

操作系统版本

程序

Windows 2012 R2 和 Windows 8。1

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

Windows Server 2012 和 Windows 8

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

Windows Server 2008 R2 SP1 和 Windows 7 SP1

Windows Server 2008 R2 SP1 和 Windows 7 SP1 中的 .NET Framework 2.0 SP2 的修补程序汇总3106991

解决方法

若要解决此问题,请按照下列步骤操作:

  1. 在服务器上启用 TLS 1.0。

  2. 重新启动服务器。

  3. 运行 SQL Server 2012 或 SQL Server 2014 安装程序,并将 SQL Server 版本更新为支持 TLS 1.2 的版本。 (有关添加对 TLS 1.2 支持的更新的详细信息,请参阅KB 3052404。)

  4. 禁用 TLS 1.0。

  5. 重新启动服务器。

注意 当你尝试安装 SQL Server 2012 的内部版本或 SQL Server 2014 (不包含修补程序以启用 TLS 1.2 支持)时,你还必须使用此解决方法。

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

了解 Microsoft 用于描述软件更新的 术语

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×