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

时间:2013-09-25 20:09:17

标签: sql-server sql-server-2012

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

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

  

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

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

  

0 - 发生内部错误

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

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

6 个答案:

答案 0 :(得分:3)

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

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

展开 SQL网络配置,然后点击 PROTOCOLS 节点

右键单击 TCP / IP 并打开 PROPERTIES 面板

选择 IP ADDRESS 标签

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

答案 1 :(得分:1)

在我们的例子中,由于spn未设置而发生同样的错误。请检查是否设置了spn。正如其他人在评论中建议的那样,您可以看到环缓冲区条目,其中包含更多信息。如果您能够更频繁地重新尝试并行尝试并行运行netmon或wireshark

答案 2 :(得分:1)

在我们的案例中,这是SSL / TLS的问题。我们刚刚禁用了tls 1.0以确保我们符合PCI DSS但它停止了SQL Server。然后我们不得不从Microsoft安装一个更新,然后使用IISCrypto而不是使用注册表来执行禁用。这是我们遵循的步骤: https://www.itechtics.com/connection-successfully-established-error-occured-pre-login-handshake/

答案 3 :(得分:0)

在我的情况下,启用TLS和禁用SSL。 Check here for more detail.

答案 4 :(得分:0)

禁用TLS 1.2协议,并启用1.0 /1.1。重新安装SQL Server后重启服务器

答案 5 :(得分:0)

这些东西都不适合我..最后我不得不安装 SQL Server 2014 SP1 的累积更新

SQL Server Cumulative Updates