尝试安装 Microsoft Dynamics CRM Server 2016 时,SECDoClientHandshake () SSL 安全性错误连接SQL Server

本文提供了尝试安装 Microsoft Dynamics CRM Server 2016 时发生的错误的解决方案。

适用于:Microsoft Dynamics CRM Server 2016
原始 KB 编号: 4077486

症状

尝试安装 Dynamics CRM Server 2016 时,环境诊断向导失败并显示以下错误消息:

错误|检查 SqlServerValidator:失败:无法连接到以下SQL Server:“服务器名称”。 验证服务器是否已启动并运行,以及是否SQL Server管理凭据。 [DBNETLIB][ConnectionOpen (SECDoClientHandshake () ) .]SSL 安全错误。

原因

Dynamics CRM Server 2016 向导要求通过 Microsoft OLE DB 提供程序进行连接检查,以便SQL Server开始创建数据库。 安装文档列出了在安装过程中 安装的软件 。 它包括安装或升级Microsoft Dynamics CRM服务器。 安装程序使用此本机客户端,在配置数据库创建阶段,需要 OLE DB 连接。

当通过通用数据链接 (UDL) 文件为给定SQL Server创建测试连接时,会重现此连接失败。

  1. 打开 记事本。
  2. 将文件另存为 Connectivity Test.udl ,将文件类型保存为 “所有文件”。
  3. 打开保存的文件。
  4. 选择 Microsoft OLE DB Provider for SQL Server 作为提供程序。
  5. 提供服务器连接和身份验证详细信息。
  6. 测试数据库的连接或打开列表。
  7. 连接失败并显示相同的错误消息。

它失败,因为 Dynamics CRM Server 2016 与 SQL Server 之间的安全连接需要为 OLE DB 提供程序启用 TLS 1.0 for SQL Server。 SQL Server可能未为安全通道通信启用 TLS 1.0。

即使SQL Server上启用了 TLS 1.1 或 1.2,连接也可能失败,因为用于SQL Server的 OLE DB 提供程序仅支持 TLS 1.0。 本文中列出的提供程序提供了对 TLS 1.2 的支持。

解决方案

在 SQL Server 上为 microsoft OLE DB 提供程序启用 tls 1.0 for SQL Server。 可以通过以下注册表更改启用 TLS 1.0:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server] "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server] "DisabledByDefault"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client] "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client] "DisabledByDefault"=dword:00000000

如果组织策略要求禁用 TLS 1.0,则可以在安装完成后完成:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] "DisabledByDefault"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] "DisabledByDefault"=dword:00000001

可能还需要在 Dynamics CRM Server 2016 上启用 TLS 1.0 作为客户端。

更多信息

如果组织策略需要禁用 TLS 1.0,则可以在安装完成后在 SQL Server 和 Dynamics CRM Server 2016 上禁用 TLS 1.0。

References