已成功与服务器建立连接,但在SQL Server 2012中的登录前握手期间发生了错误

use*_*785 21 sql-server sql-server-2012

今天我无法使用以下错误消息登录到我的本地SQL Server 2012实例

已成功与服务器建立连接,但在登录前握手期间发生错误.

provider:SSL Provider,错误:0 - 发生内部错误.(Microsoft SQL Server,错误:-2146893792)

我在这里和论坛上发现了许多类似的问题,但没有任何帮助.请注意,就我而言,它只是说

0 - 发生内部错误

  • 事件查看器中没有错误;
  • 我不使用加密连接;
  • 在SQL Server配置管理器中,Force Protocol Entryption设置为False,Trust Server Certificate设置为Yes(原来它是No,但在两种情况下它都不起作用);
  • 我可以使用UDL连接到SQL Server ;
  • 我尝试使用所有相关组件重新安装SQL Server;
  • 试图卸载.NET 4.5;
  • 在SQL Management Studio中,在连接属性中,取消选中"加密连接".

它昨天工作正常,从那以后我没有安装任何软件.

jig*_*esh 6

检查是否未为客户端启用 TCP/IP 协议。如果没有 TCP/IP 协议,您将无法从其他客户端访问 sql server。以下是启用该协议的方法。

转到:开始-->程序--> SQL Server -->配置工具--> SQL 配置管理器

展开SQL Network Configuration并单击PROTOCOLS节点

右键单击“TCP/IP”并打开“属性”面板

选择“IP 地址”选项卡

http://sqlanddotnetdevelopment.blogspot.in/2013/07/a-connection-was-successively.html


Lor*_*ris 5

我使用最新版本的 Microsoft.Data.SqlClient 连接到 localhost 时遇到此错误。

事实证明,为了安全起见,微软确实希望您加密数据库。

这可以通过更改连接字符串、添加Encrypt=False参数来修复客户端,例如:

SERVER=.\SQLEXPRESS;DATABASE=MyDatabase;Integrated Security=True;Encrypt=False;
Run Code Online (Sandbox Code Playgroud)

请参阅Rick Strah 关于该主题的博客文章