我有一个.net Web应用程序调用SQL Server 2008在不同的服务器上运行。 从过去的几周,每隔4或5天后,Web应用程序连接到SQL Server成为一个问题。 Web应用程序无法间歇性地连接到SQL Server。 在Web应用程序服务器的事件查看器中,将logging以下消息:
与SQL Serverbuild立连接时发生networking相关或特定于实例的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。
(提供程序:命名pipe道提供程序,错误:40 – 无法打开连接到SQL Server)在System.Data.SqlClient.SqlInternalConnection
尝试从Web应用程序服务器创build到SQL Server的ODBC连接也失败,并显示类似的消息:
Connection failed: SqlState:'01000' Sql server error: 68 [Microsoft ODBC Sql server driver][DBNETLIB] ConnectionOpen(Connect()) Connection failed: SQLState:'08001' Sql server error: 17 [Microsoft ODBC sql Driver]{DBNETLIB] Sql server does not exist or access denied
然而,其他机器(除了Web应用程序服务器)仍然能够调用相同的SQL服务器实例,也能够创build一个ODBC连接到SQL实例。 发生连接问题时,我也可以成功地从Web应用程序服务器ping到SQL Server。
奇怪的Web应用程序不会永久失去连接。 每隔几分钟一些请求将能够连接到SQL Server,但然后将再次失败。 回收Web应用程序池或重新启动iis不能解决问题。 但是,在Web服务器启动之后,这个问题只会在几天之后才会重新出现。
任何想法可能导致这个问题。 谢谢
我们曾经发生过这样的事情,结果发现服务器上的networking驱动程序出现问题。 结果是它会工作一段时间…然后只是放弃连接。 也许检查你是双方最新的固件/驱动程序?