2012-11-25 72 views
1

我已经使用SSMS和LinqPad几个月来连接到SQL Azure实例没有问题。突然,本周,linqpad停止连接,持续超时并显示以下错误消息:“与服务器建立了连接,但在登录前握手过程中发生了错误(provider:SSL Provider,error:0 - the等待操作超时。)”无法使用SSMS LinqPad连接到SQL Azure; SQLCMD正常工作

enter image description here

起初,它只是LinqPad。但是在我开始体验与SSMS 2012相同的问题后不久,它显示了完全相同的错误消息(略有不同的对话框)。

我确认这不是防火墙规则问题。我的IP已被允许通过SQL防火墙数月,而且我仍然可以使用SQLCMD使用相同的凭证进行连接,并且我可以运行查询。

任何想法?为什么SSMS和LinqPad都会在SQLCMD仍然有效的情况下发生大转折?

回答

1

我终于找到了解决方案(我想我可能已通过https://stackoverflow.com/questions/13420770/pre-login-handshake-error-connecting-directly-to-sql-azure找到它)。我安装了一些完全不相关的软件,以告知停止工作的时间。实际上,所述软件也会静默地安装一些捆绑软件,这些软件会为您提供定制的Winsock LSPs,这意味着系统受到问题reported to Microsoft的困扰,并在KB 2568167中解决。幸运的是,我不必手动删除LSP,因为我能够卸载不受欢迎的软件(Sendori!)。

0

您看过SQL Azure的连接故障诊断指南吗? http://social.technet.microsoft.com/wiki/contents/articles/1719.windows-azure-sql-database-connectivity-troubleshooting-guide.aspx

您是否还在最近/当周时间安装了.NET 4.5?你有没有检查你的SQL连接以确保SSL加密关闭?

+0

是的,我已经尝试过SSL和关闭。我最近没有安装.NET 4.5(尽管我有些东西 - 最近才安装)。另外,如果您根本无法与服务器通信,那么连接故障排除指南的确很有用。这不是我的问题。我可以很好地与SQLCMD连接,并且错误消息本身指示在初始连接后发生错误。 –

+0

该指南旨在确定您的问题位于哪一层。我不确定您尝试了什么,但是如果您可以通过SQLCMD访问服务器,您是否尝试解析服务器(IP)的名称,并telnet到服务器?你有没有尝试从另一个位置(如果这是一台笔记本电脑)或另一台计算机来复制这个? –