我遇到了一个我无法解决的间歇性SQL连接问题。首先,我将解释设置:
Windows 2008 R2 Standard SP1(以及通过Windows更新提供的所有修补程序):
Windows 2008 R2 Standard SP1(以及通过Windows更新提供的所有修补程序):
这些是由我们的云提供商托管的VM。从基础架构的角度来看,云提供商已经进行了调查,但发现没有任何问题。
生成的错误消息如下:
System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 9 - Associating port with I/O completion mechanism failed)
我一直无法找到有关错误代码9的任何信息。
System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - An operation was attempted on something that is not a socket.) ---> System.ComponentModel.Win32Exception (0x80004005): An operation was attempted on something that is not a socket
生成这些错误后,IIS将显示“友好错误”页面。对于issueto解析自身或IISReset,通常需要大约15分钟。当这个问题首次出现时,我从codeplex下载了一个SQL Load Generator,并运行了多达300个同时连接的测试,并且一切正常。当Web应用程序生成SQL异常时,我还运行了另一个测试 - 来自负载测试的所有连接都成功。这让我很困惑!?!
在停机期间没有创建事件日志。
对我来说,错误消息表明连接到SQL框时出现问题,但是在最近的中断期间运行的负载测试与此相矛盾 - 但IIS仍在提供内容(已配置的错误消息)。
我意识到这是一个很难的问题,但是我会非常感谢任何关于找到错误原因的技巧的建议。有关错误9与之相关的任何信息也会有所帮助。