使用 .NET 4.5 连接到 SQL Server Azure 时发生握手异常
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/12082077/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Handshake exception occurring when connecting to SQL Server Azure with .NET 4.5
提问by BentOnCoding
So I opened up some code that hasn't been touched in about 2 months.
所以我打开了一些大约2个月没有接触过的代码。
Last time I opened the application all unit tests passed. Now with no code changes all my data unit tests fail with the following error:
上次我打开应用程序时,所有单元测试都通过了。现在没有代码更改,我所有的数据单元测试都失败并出现以下错误:
Initialization method PerTrac.Pictor.Data.Test.RequestLogRepositoryShould.CreateLog threw exception. System.Data.EntityException: System.Data.EntityException: The underlying provider failed on Open. ---> System.Data.SqlClient.SqlException: A connection was successfully established with the server, but then an error occurred during the pre-login handshake. (provider: SSL Provider, error: 0 - The wait operation timed out.) ---> System.ComponentModel.Win32Exception: The wait operation timed out.
初始化方法 PerTrac.Pictor.Data.Test.RequestLogRepositoryShould.CreateLog 抛出异常。System.Data.EntityException: System.Data.EntityException: 底层提供程序打开失败。---> System.Data.SqlClient.SqlException: 已成功与服务器建立连接,但在登录前握手期间发生错误。(提供程序:SSL 提供程序,错误:0 - 等待操作超时。)---> System.ComponentModel.Win32Exception:等待操作超时。
I realize there is an existing question similar to this, but those solutions had no effect what so ever on my situation.
我意识到存在与此类似的现有问题,但这些解决方案对我的情况没有任何影响。
Has anyone experienced this error with entity framework and SQL Azure specifically ?
有没有人专门在实体框架和 SQL Azure 上遇到过这个错误?
I should note that I can connect from SSMS with no issue using them same credentials. I don't have Force Encryption set on disabled protocols and I have reset my local IIS several times.
我应该注意,我可以使用相同的凭据从 SSMS 进行连接,没有问题。我没有在禁用的协议上设置强制加密,并且我已经多次重置我的本地 IIS。
回答by Paul Mendoza
Most likely you have some application installed on your computer that is using deprecated network protocols to intercept network traffic. The correct solution is hopefully to disable or uninstall those applications.
很可能您的计算机上安装了一些使用不推荐使用的网络协议来拦截网络流量的应用程序。希望正确的解决方案是禁用或卸载这些应用程序。
Run the command line command netsh WinSock Show Catalog >> winsock.txtand then notepad winsock.txtto open the file.
运行命令行命令netsh WinSock Show Catalog >> winsock.txt然后记事本 winsock.txt打开文件。
Look at every Winsock Catalog Provider Entryreturned. If the Service Flagsvalue has the 0x20000 bit set then the provider uses IFS handles and will work fine. If the “Service Flags” 0x20000 bit is clear (not set), then it is a non-IFS BSP or LSP and could be an issue. Try disabling this application and let us know if it then worked.
查看返回的每个Winsock Catalog Provider Entry。如果服务标志值设置了 0x20000 位,则提供程序使用 IFS 句柄并且可以正常工作。如果“服务标志”0x20000 位清除(未设置),则它是非 IFS BSP 或 LSP,可能是一个问题。尝试禁用此应用程序,然后让我们知道它是否有效。
Ignore the “Name Space Provider Entry” when you are looking at the text file results. They aren't the problem.
查看文本文件结果时,请忽略“名称空间提供程序条目”。他们不是问题。
Below is a sample of what my clean system looks like for the output of the netsh WinSock Show Catalog file.
下面是我的干净系统对于 netsh WinSock Show Catalog 文件的输出的示例。
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider
Description: MSAFD Tcpip [TCP/IP]
Provider ID: {E70F1AA0-AB8B-11CF-8CA3-00805F48A192}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1001
Version: 2
Address Family: 2
Max Address Length: 16
Min Address Length: 16
Socket Type: 1
Protocol: 6
Service Flags: 0x20066
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider
Description: MSAFD Tcpip [UDP/IP]
Provider ID: {E70F1AA0-AB8B-11CF-8CA3-00805F48A192}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1002
Version: 2
Address Family: 2
Max Address Length: 16
Min Address Length: 16
Socket Type: 2
Protocol: 17
Service Flags: 0x20609
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider
Description: MSAFD Tcpip [RAW/IP]
Provider ID: {E70F1AA0-AB8B-11CF-8CA3-00805F48A192}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1003
Version: 2
Address Family: 2
Max Address Length: 16
Min Address Length: 16
Socket Type: 3
Protocol: 0
Service Flags: 0x20609
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider
Description: MSAFD Tcpip [TCP/IPv6]
Provider ID: {F9EAB0C0-26D4-11D0-BBBF-00AA006C34E4}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1004
Version: 2
Address Family: 23
Max Address Length: 28
Min Address Length: 28
Socket Type: 1
Protocol: 6
Service Flags: 0x20066
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider
Description: MSAFD Tcpip [UDP/IPv6]
Provider ID: {F9EAB0C0-26D4-11D0-BBBF-00AA006C34E4}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1005
Version: 2
Address Family: 23
Max Address Length: 28
Min Address Length: 28
Socket Type: 2
Protocol: 17
Service Flags: 0x20609
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider
Description: MSAFD Tcpip [RAW/IPv6]
Provider ID: {F9EAB0C0-26D4-11D0-BBBF-00AA006C34E4}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1006
Version: 2
Address Family: 23
Max Address Length: 28
Min Address Length: 28
Socket Type: 3
Protocol: 0
Service Flags: 0x20609
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider
Description: RSVP TCPv6 Service Provider
Provider ID: {9D60A9E0-337A-11D0-BD88-0000C082E69A}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1007
Version: 2
Address Family: 23
Max Address Length: 28
Min Address Length: 28
Socket Type: 1
Protocol: 6
Service Flags: 0x22066
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider
Description: RSVP TCP Service Provider
Provider ID: {9D60A9E0-337A-11D0-BD88-0000C082E69A}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1008
Version: 2
Address Family: 2
Max Address Length: 16
Min Address Length: 16
Socket Type: 1
Protocol: 6
Service Flags: 0x22066
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider
Description: RSVP UDPv6 Service Provider
Provider ID: {9D60A9E0-337A-11D0-BD88-0000C082E69A}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1009
Version: 2
Address Family: 23
Max Address Length: 28
Min Address Length: 28
Socket Type: 2
Protocol: 17
Service Flags: 0x22609
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider
Description: RSVP UDP Service Provider
Provider ID: {9D60A9E0-337A-11D0-BD88-0000C082E69A}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1010
Version: 2
Address Family: 2
Max Address Length: 16
Min Address Length: 16
Socket Type: 2
Protocol: 17
Service Flags: 0x22609
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider (32)
Description: MSAFD Tcpip [TCP/IP]
Provider ID: {E70F1AA0-AB8B-11CF-8CA3-00805F48A192}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1001
Version: 2
Address Family: 2
Max Address Length: 16
Min Address Length: 16
Socket Type: 1
Protocol: 6
Service Flags: 0x20066
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider (32)
Description: MSAFD Tcpip [UDP/IP]
Provider ID: {E70F1AA0-AB8B-11CF-8CA3-00805F48A192}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1002
Version: 2
Address Family: 2
Max Address Length: 16
Min Address Length: 16
Socket Type: 2
Protocol: 17
Service Flags: 0x20609
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider (32)
Description: MSAFD Tcpip [RAW/IP]
Provider ID: {E70F1AA0-AB8B-11CF-8CA3-00805F48A192}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1003
Version: 2
Address Family: 2
Max Address Length: 16
Min Address Length: 16
Socket Type: 3
Protocol: 0
Service Flags: 0x20609
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider (32)
Description: MSAFD Tcpip [TCP/IPv6]
Provider ID: {F9EAB0C0-26D4-11D0-BBBF-00AA006C34E4}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1004
Version: 2
Address Family: 23
Max Address Length: 28
Min Address Length: 28
Socket Type: 1
Protocol: 6
Service Flags: 0x20066
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider (32)
Description: MSAFD Tcpip [UDP/IPv6]
Provider ID: {F9EAB0C0-26D4-11D0-BBBF-00AA006C34E4}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1005
Version: 2
Address Family: 23
Max Address Length: 28
Min Address Length: 28
Socket Type: 2
Protocol: 17
Service Flags: 0x20609
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider (32)
Description: MSAFD Tcpip [RAW/IPv6]
Provider ID: {F9EAB0C0-26D4-11D0-BBBF-00AA006C34E4}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1006
Version: 2
Address Family: 23
Max Address Length: 28
Min Address Length: 28
Socket Type: 3
Protocol: 0
Service Flags: 0x20609
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider (32)
Description: RSVP TCPv6 Service Provider
Provider ID: {9D60A9E0-337A-11D0-BD88-0000C082E69A}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1007
Version: 2
Address Family: 23
Max Address Length: 28
Min Address Length: 28
Socket Type: 1
Protocol: 6
Service Flags: 0x22066
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider (32)
Description: RSVP TCP Service Provider
Provider ID: {9D60A9E0-337A-11D0-BD88-0000C082E69A}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1008
Version: 2
Address Family: 2
Max Address Length: 16
Min Address Length: 16
Socket Type: 1
Protocol: 6
Service Flags: 0x22066
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider (32)
Description: RSVP UDPv6 Service Provider
Provider ID: {9D60A9E0-337A-11D0-BD88-0000C082E69A}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1009
Version: 2
Address Family: 23
Max Address Length: 28
Min Address Length: 28
Socket Type: 2
Protocol: 17
Service Flags: 0x22609
Protocol Chain Length: 1
Winsock Catalog Provider Entry
------------------------------------------------------
Entry Type: Base Service Provider (32)
Description: RSVP UDP Service Provider
Provider ID: {9D60A9E0-337A-11D0-BD88-0000C082E69A}
Provider Path: %SystemRoot%\system32\mswsock.dll
Catalog Entry ID: 1010
Version: 2
Address Family: 2
Max Address Length: 16
Min Address Length: 16
Socket Type: 2
Protocol: 17
Service Flags: 0x22609
Protocol Chain Length: 1
Name Space Provider Entry
------------------------------------------------------
Description: Network Location Awareness Legacy (NLAv1) Namespace
Provider ID: {6642243A-3BA8-4AA6-BAA5-2E0BD71FDD83}
Name Space: 15
Active: 1
Version: 0
Name Space Provider Entry
------------------------------------------------------
Description: E-mail Naming Shim Provider
Provider ID: {964ACBA2-B2BC-40EB-8C6A-A6DB40161CAE}
Name Space: 37
Active: 1
Version: 0
Name Space Provider Entry
------------------------------------------------------
Description: PNRP Cloud Namespace Provider
Provider ID: {03FE89CE-766D-4976-B9C1-BB9BC42C7B4D}
Name Space: 39
Active: 1
Version: 0
Name Space Provider Entry
------------------------------------------------------
Description: PNRP Name Namespace Provider
Provider ID: {03FE89CD-766D-4976-B9C1-BB9BC42C7B4D}
Name Space: 38
Active: 1
Version: 0
Name Space Provider Entry
------------------------------------------------------
Description: Tcpip
Provider ID: {22059D40-7E9E-11CF-AE5A-00AA00A7112B}
Name Space: 12
Active: 1
Version: 0
Name Space Provider Entry
------------------------------------------------------
Description: NTDS
Provider ID: {3B2637EE-E580-11CF-A555-00C04FD8D4AC}
Name Space: 32
Active: 1
Version: 0
Name Space Provider Entry
------------------------------------------------------
Description: WindowsLive NSP
Provider ID: {4177DDE9-6028-479E-B7B7-03591A63FF3A}
Name Space: 12
Active: 1
Version: 1
Name Space Provider Entry
------------------------------------------------------
Description: WindowsLive Local NSP
Provider ID: {229F2A2C-5F18-4A06-8F89-3A372170624D}
Name Space: 19
Active: 1
Version: 1
Name Space Provider Entry (32)
------------------------------------------------------
Description: Network Location Awareness Legacy (NLAv1) Namespace
Provider ID: {6642243A-3BA8-4AA6-BAA5-2E0BD71FDD83}
Name Space: 15
Active: 1
Version: 0
Name Space Provider Entry (32)
------------------------------------------------------
Description: E-mail Naming Shim Provider
Provider ID: {964ACBA2-B2BC-40EB-8C6A-A6DB40161CAE}
Name Space: 37
Active: 1
Version: 0
Name Space Provider Entry (32)
------------------------------------------------------
Description: PNRP Cloud Namespace Provider
Provider ID: {03FE89CE-766D-4976-B9C1-BB9BC42C7B4D}
Name Space: 39
Active: 1
Version: 0
Name Space Provider Entry (32)
------------------------------------------------------
Description: PNRP Name Namespace Provider
Provider ID: {03FE89CD-766D-4976-B9C1-BB9BC42C7B4D}
Name Space: 38
Active: 1
Version: 0
Name Space Provider Entry (32)
------------------------------------------------------
Description: Tcpip
Provider ID: {22059D40-7E9E-11CF-AE5A-00AA00A7112B}
Name Space: 12
Active: 1
Version: 0
Name Space Provider Entry (32)
------------------------------------------------------
Description: NTDS
Provider ID: {3B2637EE-E580-11CF-A555-00C04FD8D4AC}
Name Space: 32
Active: 1
Version: 0
Name Space Provider Entry (32)
------------------------------------------------------
Description: WindowsLive NSP
Provider ID: {4177DDE9-6028-479E-B7B7-03591A63FF3A}
Name Space: 12
Active: 1
Version: 1
Name Space Provider Entry (32)
------------------------------------------------------
Description: WindowsLive Local NSP
Provider ID: {229F2A2C-5F18-4A06-8F89-3A372170624D}
Name Space: 19
Active: 1
Version: 1
回答by AvkashChauhan
The key to understand the problem here is the provider and in your case it is "SSL Provider" and the main problem is that connection time out. If problem was related with "TCP Provider" there could be several reasons related with network etc however in your case it is a security related issue within the connection framework.
理解这里问题的关键是提供者,在您的情况下是“SSL 提供者”,主要问题是连接超时。如果问题与“TCP Provider”有关,则可能有几个与网络等相关的原因,但是在您的情况下,这是连接框架内的安全相关问题。
Next step to investigate this problem is that on the same machine, you can connect from SSMS to same SQL Database however not from IIS which means the IIS application process is not able to get proper certificate to create the SSL tunnel to create the successful connection. It is possible that you have some log written System Event log so please check there.
调查此问题的下一步是,在同一台机器上,您可以从 SSMS 连接到相同的 SQL 数据库,但不能从 IIS 连接,这意味着 IIS 应用程序进程无法获得正确的证书来创建 SSL 隧道以创建成功的连接。您可能有一些写入系统事件日志的日志,因此请检查那里。
Because you are using Entity Framework and depend on EF version there are some changed in the connection string so verify if that is what you have:
因为您使用的是实体框架并依赖于 EF 版本,所以连接字符串中有一些更改,因此请验证您是否拥有:
<add name="MyDatabaseModelEntities" connectionString="metadata=res://*/MyDBModel.csdl|res://*/MyDatabaseModel.ssdl|res://*/MyDatabaseModel.msl;provider=System.Data.SqlClient;provider connection string="data source=abcdefg123.database.windows.net;initial catalog=MyDatabase;persist security info=True;user id=MyDatabaseUser@abcdefg123;password=p@$$w0rd;multipleactiveresultsets=True;Trusted_Connection=False;Encrypt=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
Finally if you are using EF 4.3.1 and connecting to SQL Database please have a look at thisarticle and check if you have similar configuration.
最后,如果你使用的是EF 4.3.1,并连接到SQL数据库,请看看这个文章,并检查是否有类似的配置。
回答by Tassadaque
This issue is reported in microsoft connect site here. Solution is availabel here. You need to remove non-IFS LSP installed Winsock Catalog Provider. Sometimes some software already installed on you machine may cause issue. In order to remove non-IFS LSP first run the following command on command prompt to see the application causing issue (ref)
此问题已在此处的microsoft connect 站点中报告。解决方案在这里可用。您需要删除非 IFS LSP 安装的 Winsock Catalog Provider。有时,您机器上已安装的某些软件可能会导致问题。为了删除非 IFS LSP,首先在命令提示符下运行以下命令以查看导致问题的应用程序 ( ref)
netsh winsock show catalog > LSP.txt
see the output and analyze the application causing issue and uninstall it. hopefully it will resolve the issue.
查看输出并分析导致问题的应用程序并卸载它。希望它能解决这个问题。
回答by Brian
In my case, after trying to repair my VS2012RC couple of times and no luck I chanced upon this link, one of the comments is to do with a third party s/w called 'sendori'. I uninstalled it and all is back to normal in my world.
就我而言,在尝试修复我的 VS2012RC 几次后,我偶然发现了此链接,其中一条评论与名为“sendori”的第三方软件有关。我卸载了它,我的世界一切都恢复了正常。
回答by user2047593
Just another tip: SQL server could be out of memory. I had this error and when I checked SQL server computer, the SQL service was using 15G of memory, out of 16 total. So restart the service to fix.
另一个提示:SQL 服务器可能内存不足。我遇到了这个错误,当我检查 SQL 服务器计算机时,SQL 服务使用了 15G 内存,总共 16 个。于是重启服务修复。
回答by Faiz
I had same issue with SSMS 2012 but all worked fine on SSMS 2008 on the same box connecting to the same remote server.
我在 SSMS 2012 上遇到了同样的问题,但在连接到同一远程服务器的同一台机器上的 SSMS 2008 上一切正常。
Moca.io Proxy was causing trouble for me. Uninstalled and all working fine now. ("remove non-IFS LSP")
Moca.io 代理给我带来了麻烦。已卸载,现在一切正常。(“删除非 IFS LSP”)
回答by josip jai?
had same problem. In my case uninstalling T-Mobile Web 'n Walk Manager solved problem. Its software for making mobile connection to internet via sim card Josip
有同样的问题。在我的情况下,卸载 T-Mobile Web 'n Walk Manager 解决了问题。它的软件用于通过 SIM 卡 Josip 进行移动连接到互联网
回答by arbit
I had this exact error. Solved by setting server not to XXXXXXXXX but to the full domain name XXXXXXXX.YYY.com
我有这个确切的错误。通过设置服务器不是XXXXXXXXX而是全域名XXXXXXXX.YYY.com解决
Then a message appeared saying encryption was not supported connect without.
然后出现一条消息,说不支持连接不支持加密。
When I did everything worked.
当我做的一切都奏效了。
回答by Arunprakash Sriram
If you are using dot "." or partial name of server (without domain name) for data source, please try with actual SQL Server instance name with complete server name.
如果您使用点“.” 或数据源的部分服务器名称(不带域名),请尝试使用带有完整服务器名称的实际 SQL Server 实例名称。
回答by BentOnCoding
The problem ended up being vs11 beta.
问题最终是 vs11 beta。
If you have this problem you need to do the following :
如果您遇到此问题,则需要执行以下操作:
1) Uninstall vs11 beta and .NET 4.5 beta
1) 卸载 vs11 beta 和 .NET 4.5 beta
2) re-install .NET 4.0
2)重新安装.NET 4.0
Watch everything work again !
再次观看一切正常!

