![SQL Server 2014 安装失败:SSL 提供程序,错误:0 - 提供给函数的令牌无效](https://linux22.com/image/733471/SQL%20Server%202014%20%E5%AE%89%E8%A3%85%E5%A4%B1%E8%B4%A5%EF%BC%9ASSL%20%E6%8F%90%E4%BE%9B%E7%A8%8B%E5%BA%8F%EF%BC%8C%E9%94%99%E8%AF%AF%EF%BC%9A0%20-%20%E6%8F%90%E4%BE%9B%E7%BB%99%E5%87%BD%E6%95%B0%E7%9A%84%E4%BB%A4%E7%89%8C%E6%97%A0%E6%95%88.png)
我正在尝试在新的 Windows Server 2016 上安装 SQL Server 2014 标准版,该 Windows Server 2016 设置为域控制器,用于替换已停用的 DC。(我知道不建议这样做,但我们是一家小公司,多年来一直将 Windows Server 域控制器和 SQL Server 组合在一起,没有出现任何问题。在我们的小型 LAN 上,性能一直很好。)除关于在 DC 上安装的警告外,所有先决条件检查均通过。服务帐户设置为具有足够权限的域用户帐户。SQL Server 安装程序接近尾声并抛出此错误,如摘要安装日志中所示:
功能:数据库引擎服务
状态:失败:查看日志了解详情
失败原因:该功能的设置过程中出现错误。
下一步:使用以下信息解决错误,卸载此功能,然后再次运行安装过程。
组件名称:SQL Server 数据库引擎服务实例功能
组件错误代码:0x84BB0001
错误描述:已成功与服务器建立连接,但在登录前握手期间发生错误。(提供程序:SSL 提供程序,错误:0 - 提供给函数的令牌无效)
此后显示的错误帮助链接仅将我带到 Microsoft 主页,而不是任何帮助文本。
我们现有的 DC 运行 Windows Server 2008 R2 和 SQL Server 2005 Standard。我们没有连接到 LAN 之外的 SQL Server,也没有在服务器上运行 IIS 或任何 Web 服务。我不确定从哪里开始诊断和纠正此设置错误。例如,我们需要在 DC 上安装证书吗?它可以是自签名证书吗,因为我们只在 LAN 上连接到 SQL Server?我们可以使用 OpenSSL 之类的东西吗?
答案1
谢谢。我采纳了建议,在我们的 DC 上启用了 TLS 1.0 和 1.1 以及其他一些较弱的密码。但这并没有解决问题。我最终成功安装了 SQL Server 2014,保留了默认服务帐户。然后我后来尝试将它们更改为域帐户。对于 SQL Server 服务本身,我必须保留默认虚拟帐户“NT Service\MSSQL$”,以便连接到 SSMS 中的服务器。在搜索时,我了解到“托管服务帐户”可以作为替代方案。由于我们处于功能级别 Windows Server 2008 R2,因此我根据https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd560633%28v%3dws.10%29以及相关文章https://www.mssqltips.com/sqlservertip/5334/using-managed-service-accounts-with-sql-server/。所有其他服务(代理、集成、分析等)都可以使用常规域用户帐户正常运行,但 SQL Server 服务使用托管服务帐户。需要进行更多测试,但目前这回答了我上面关于 SQL Server 设置失败的初始帖子。