预登录握手困境与直接连接到SQL Azure的(Pre-login handshake woes w

2019-06-27 23:23发布

目前,我们正在经历我们与以下消息的开发环境颇为头疼的问题...

A connection was successfully established with the server, 
but then an error occurred during the pre-login handshake. 
(provider: SSL Provider, error: 0 - The certificate's CN 
name does not match the passed value.)

...普遍接受的智慧来解决这个问题是设置连接到真正TrustServerCertificate部分。 然而,这并不可靠或一致地工作。

在许多情况下,会出现此特定错误,例如测试我们的WCF服务在我们的Azure的模拟器谈论生活/托管SQL Azure的实例,甚至使用SQL Management Studio中。 我们已经找到了唯一的共同点是,当我们直接连接到SQL Azure的,而不是在其主持和Azure是直接对话SQL Azure的(这不工作),这个只发生。

我已经尝试了一些战术来解决问题(如一个详细的在这里 ),即相信它是连接相关和删除池和其他修改连接字符串。 但很可惜,没有一个是结论,更气人的是,该错误是间歇性的,并会防止神奇地解决自身之前的短时间内访问。

我已经消除了其他因素。

  • 我们使用的Transcient应用程序块试图从这些错误中恢复,但是没有。
  • 我们的办公室与我们在Azure托管服务连接没有代理服务器。

任何人都经历这个问题,或者有什么建议吗?

Answer 1:

您需要扫描非IFS的Winsock的BSP或LSP这些不与FILE_SKIP_COMPLETION_PORT_ON_SUCCESS标志兼容,问题主要来自安装非IFS LSP的结果。

只要运行从命令提示符“的netsh的WinSock显示目录”,并检查任何“服务标志”,这不0x20xxx的格式看

以我为例,我发现“速度加速器”的服务标志0x66,删除该软件解决我的问题。

更多信息可以在这里找到: http://support.microsoft.com/kb/2568167



Answer 2:

什么是您的连接字符串是什么样子? 不知道你是否已经尝试了这个,但是我记得使用远程SQL连接到SQL Azure和发现我必须设置时有一个问题类似:

Trusted_Connection=False;Encrypt=True

和从完全字符串中删除的任何连接超时。



文章来源: Pre-login handshake woes with connecting directly to SQL Azure