Windows SQL Server-登录过程中连接被强制关闭

Windows SQL Server-登录过程中连接被强制关闭,windows,ssl,sql-server-2005,database-connection,windows-server-2003,Windows,Ssl,Sql Server 2005,Database Connection,Windows Server 2003,情况如下: 从Windows Server 2003到SQL Server 2005的连接工作正常。现在,承载相同.net web应用程序的新Windows 2012服务器无法连接到相同的SQL server数据库,它将失败,并出现以下错误: 已成功与服务器建立连接,但在登录过程中发生错误。(提供程序:SSL提供程序,错误:0-远程主机已强制关闭现有连接。)] 由于它在Windows 2003中运行良好,我想问题可能是: 向后兼容性问题,因为新框是Windows 2012而不是Windows 2

情况如下:

从Windows Server 2003到SQL Server 2005的连接工作正常。现在,承载相同.net web应用程序的新Windows 2012服务器无法连接到相同的SQL server数据库,它将失败,并出现以下错误:

已成功与服务器建立连接,但在登录过程中发生错误。(提供程序:SSL提供程序,错误:0-远程主机已强制关闭现有连接。)]

由于它在Windows 2003中运行良好,我想问题可能是:

  • 向后兼容性问题,因为新框是Windows 2012而不是Windows 2003

  • 网络连接问题。但是,我可以确认网络路径是正常的,因为我可以从web服务器到数据库服务器的telnet端口1433,并且部分错误消息是错误的

    已成功与服务器建立连接


  • 任何帮助都将不胜感激。

    您需要检查SSL和TLS设置(服务器仅允许1.2,而客户端仅支持1.0。)

    有关更多信息,请查看以下kb页


    您需要为Windows Server 2003安装此修补程序。它将
    TLS\u RSA\u WITH_AES\u 128\u CBC\u SHA AES128-SHA
    TLS\u RSA\u WITH_AES\u 256\u CBC\u SHA aes2 56-SHA
    密码套件添加到Windows Server 2003

    如果没有将这两个密码套件添加到Windows Server 2003中,Windows Server 2008 R2及更高版本的任何内容都将无法创建到Windows Server 2003的SSL连接。这包括SQL Server连接和任何其他依赖SSL的连接

    为什么??由于Windows Server 2008 R2及以上版本没有与Windows Server 2003匹配的密码(出于安全原因,旧密码已从新操作系统中删除);因此,Windows Server 2003会断开连接,因为没有匹配的密码可用


    Microsoft Windows Server 2003修补程序:

    我收到一条非常类似的错误消息:

    SQL Server:SSL提供程序的Microsoft ODBC驱动程序{Version number here}:现有 远程主机已强制关闭连接

    我发现自己在这个问题上很有帮助。一个建议是“检查SSL设置”,尝试了这个方法,但没有成功,其他大部分讨论都是以某种形式或形式“检查SSL设置”


    我解决问题的方法是在我的SQL Server上启用TLS 1.0、1.1和1.2(在我的情况下是2019年),然后在我的客户端系统上使用启用仅启用TLS 1.0和1.1(显式禁用TLS 1.2)。这似乎解决了我的问题。

    如何检查SSL\TLS设置?顺便说一句,客户端是Windows 2008,服务器是Windows 2003(SQL server 2005)。谢谢。我会试试看,然后告诉你结果。谢谢