如何修复连接到SQL Server的错误:SSL提供程序,错误:0 - 收到的消息是意外的或格式错误

Kje*_*sen 9 .net sql-server .net-4.5

使用Visual Studio 2012(或2013)从我的本地开发框连接到SQL Server 2008R2 SP1时,我收到以下消息:

已成功与服务器建立连接,但在登录过程中发生错误.(提供者:SSL提供者,错误:0 - 收到的消息是意外的或格式错误.)

我在本地的.Net框架版本是4.5.50938

我的同事有完全相同的问题.我还认为我在重新安装电脑之前遇到了问题,当我安装SSMS 2012时,因为它也依赖于.Net框架4,而不是.Net v2作为SSMS2008R2,它工作正常.视觉工作室中的内部数据工具依赖于.Net 4也是有道理的.

问题并不总是存在,我相信它是在我第一次安装Visual Studio 2013时引入的 - 然后在重新安装后再次引入,很可能是在更新.Net框架之后.

在与SQL Server 2008R2 SP1连接时,我觉得这个版本的.Net框架中的System.Data有问题.

我怎样才能解决这个问题?有任何已知的修复,更新等?

不幸的是,更新SQL Server 2008R2SP1目前不是一个选项.

我还搜索了解决方案,但到目前为止还没有找到任何可用的解决方案.以下是其他类似问题的帖子的几个链接:

http://social.msdn.microsoft.com/Forums/en-US/ea2c470f-14ba-4864-8a39-1396f4e361e8/sqlconnection-now-failing-exception-when-connecting-to-remote-instance?forum=sqldataaccess

http://www.sqlservercentral.com/Forums/Topic1529609-2799-1.aspx

在此输入图像描述

Fra*_*iao 11

根据Microsoft的指示,您只剩下以下选项:

  • 卸载违规LSP或BSP(即Sophos Antivirus)
  • 卸载.NET Framework 4.5.1(因此,VS 2013将无法运行)
  • 安装.NET Framework 4.5.2

参考:http://support.microsoft.com/kb/2915689


Lio*_*hen 8

经过长时间的艰苦搜索,我找到了一个解决方案,而无需重新安装 .NET framework 4.5.1.您可以执行以下操作:

在命令行模式下执行以下命令,具有管理权限(未尝试没有管理员权限,也可以工作)

netsh winsock reset
Run Code Online (Sandbox Code Playgroud)

然后重新启动计算机.这就像魔术一样修复它,你可以保留.NET framework 4.5.1


eka*_*808 6

对我来说,解决方案是将其从连接字符串中删除

Encrypt=True;TrustServerCertificate=False;
Run Code Online (Sandbox Code Playgroud)

没有它,它可以工作,但显然没有加密。

  • 仅添加“Encrypt=False”就可以了 (2认同)

小智 5

尝试添加

TrustServerCertificate=真;

到你的连接字符串。那德已经对我起作用了。我使用 Asp.netCore 6