SQL-登录前握手期间发生错误


15

直到昨天晚上,我才可以从本地计算机连接到服务器。现在,出现以下错误:

已成功与服务器建立连接,但登录前握手期间发生错误。(提供程序:SSL提供程序,错误:0-等待操作超时。)(.Net SqlClient数据提供程序)

注意,我可以毫无问题地登录到实际服务器。

昨天,我在计算机上安装了IIS,并使用我的IP地址建立了一个站点-不知道这有什么关系。

我确实看了这篇文章,遵循了步骤,但是似乎没有帮助。

http://escapekeys.com/microsoft-sql-server-error-64-a-connection-was-successfully-built-with-the-server/89

我还阅读了以下文章,更改了TC / IP设置,重新启动,但是什么也没有。

http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql-服务器Microsoft SQL服务器错误/

我也开始尝试评论中的建议,但是当我意识到自己可能会把事情弄得更糟时就停止了。

那么,为什么会这样/我该如何解决?


这是什么版本的SQL Server?您如何尝试连接到SQL机器;使用SQL Server Management Studio或您开发的应用程序等?您是否尝试过重新启动SQL Server服务和服务器计算机?
马克斯·弗农

服务器是2008,我的本地sql是2012。通过我开发的应用程序以及SSMS对其进行了尝试。在我的计算机上重新启动了Sql服务,但没有重新启动实际的服务器(这也会影响生产,而且,这只是与本地SQL连接有关的问题)。
里夫卡

它是默认的SQL实例吗?如果是这样,请运行netstat -ao并确认端口1433正在侦听,并且该PID属于sqlservr.exe。如果正在侦听,请检查是否在SQL Server配置管理器中为实际上要连接的IP地址启用了TCP / IP(如Max所示,但还要打开TCP / IP的属性并确保正确的IP已启用)。
克里斯·麦基翁

查看服务属性,我的机器上有SQLEXPRESS,而不是2012。那是2012年的SSMS(可能没有什么不同?)。@ChrisMcKeown-那里没有看到1433。此外,什么的IP地址是什么?我的本地人?谢谢大家,抱歉在这里切换变量。
2012年

1
另外,如果您查看SQL错误日志,则也可以查看它正在侦听的端口:2012-09-04 09:12:58.74服务器服务器正在侦听[127.0.0.1 <ipv4> 64746]。
香菇2012年

Answers:


5

在我的情况下,我有一个内容过滤器/代理称为Covenant Eyes,这很可能是原因。

我尝试修复SQL Server 2012的安装,但它使安装崩溃,但仍未解决问题。生成卸载代码并卸载过滤器后,就可以连接了。我什至不必重启。

检查机器上的代理和内容过滤器并禁用它们!


哇。这是前一阵子,但是我们确实并且仍然在我们的机器上安装了Covenant Eyes。
里夫卡

我要让他们知道我的问题...也许他们正在使用旧版本的.NET?这是论坛条目:gsfn.us/t/3s4ti
Watki02 2013年

7

这里提出的答案是:http ://social.msdn.microsoft.com/Forums/en-US/vssetup/thread/2d11b6f9-3ada-4682-b643-c721a97af4ba

生病了吗?不知道或不在乎winsock是什么或这种低级的废话意味着什么。

转到命令提示符

做这个

netsh Winsock reset

继续您的生活并感到幸福。


注意,它并不能解决我的问题...但是它可以解决其他问题。
2013年

谢谢Watki02,您的回答(重置netsh Winsock)可以帮助我解决VS2010中开发的VB.Net clickOnce应用程序的此问题。带有.Net 4.5的操作系统Vista,用于建立从Sql 2005 Express Edition到SQL 2005 Server的远程数据库连接。

谢谢,它确实帮助了我,虽然不知道是什么意思:)
Ilya Chernomordik

像魅力一样运作,而且速度如此之快!!!
杰夫·田

3

在我的特定设置中,我使用的是将会话数据存储在自定义数据库中,我还通过连接字符串对数据进行了加密(Encrypt = True),从而解决了此问题!

我怀疑,尽管如此,结果数据并没有经过ssl加密,但是在我们添加更多Web服务器之前,这并不是什么大问题!



0

打开SQL Server配置管理器,并确保SQL Server服务正在运行:

SQL Server配置管理器-服务

并配置为允许TCP / IP连接:

SQL Server配置管理器-网络配置


谢谢,虽然已经尝试过了。
里夫卡

0

安装更改计算机的Internet协议设置的程序后,发生此错误。最近,在安装Internet下载管理器后,我遇到了相同的问题,因为IDM更改了错误的IP设置,因此从PC上卸载IDM并重新启动PC后即可解决此问题。

因此,请卸载所有更改了Internet协议设置的应用程序,例如Internet下载管理器。


0

有时,此错误是由于SQL Server上的连接过载而引起的。因此,只需将您的数据库更改为单用户,然后再次将其更改为多用户。

或者只是执行此查询。

将主ALTER DATABASE DatabaseName SET SINGLE_USER与ROLLBACK立即使用ALTER DATABASE DatabaseName SET MULTI_USER

那解决了我的问题。:) 请享用..!!



0

此问题可能与中间进行SSL检查的防火墙有关。

我建议您或者使用另一个未进行SSL检查的连接重试一次,或者要求防火墙管理员为要连接的源和/或目标创建免除项,

干杯!


0

我在尝试连接到SQL的每个工作站上都​​收到此错误消息。所有计算机都连接到域。我为解决此问题所做的事情是:

1)在登录到工作站的用户的SQL Management Studio中,创建domian \用户名作为登录名。2)TLS 1.0也阻止了此访问。传输层安全性TLS是一种加密协议,用于在两个系统之间建立安全的通信通道。它用于对一个或两个系统进行身份验证,并保护在系统之间传递的信息的机密性和完整性。

在两台计算机的注册表中,我们都转到\ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.0 \ Server。我们交换两个子项中的值。
重新启动后,我再次进行了测试,并能够成功建立连接。


-2

我们有同样的问题。我们检查了所有内容,包括ping,telnet和RDP连接,最后意识到它是在ISP更改路由后才开始发生的。更改路线后,它开始工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.