日期:2014-05-17  浏览次数:20381 次

provider: 命名管道提供程序, error: 40
紧急求助:
我现在的情况如下:
现在有3台服务器,假如分别是:服务器A,服务器B,服务器C
服务器A安装了SQL Server 2008上
服务器B和服务器C的IIS都部署了3个asp.net站点(负载均衡),假如分别为:站点1、站点2、站点3.
3个站点都访问的是服务器A上的数据库,使用相同的链接字符串。但是分别是3个不同的应用程序池。
3个站点都是使用相同的访问数据库组件(dll)。

问题:
站点A访问一切正常。但是站点B和站点C经常报连不上数据库的异常(下面有详细信息)。需要重启应用程序池才能正常。重启之后,只能保持一段时间内正常。。过段时间后又重新出现相同的问题。。

错误信息:
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 



求大神指点。。。这到底什么原因?
sql?server asp.net iis error?40 无法连接数据库

------解决方案--------------------
你配置连接数据库的语句是什么写的,帖出来看看?
------解决方案--------------------
还有注意数据库的连接池和IIS里面的连接池设置大一些,是否有可能连接池太小而不能访问.
还有可能是程序问题,数据库访问完成后没有断开连接,造成连接池满,导致后面访问数据的连接不上
------解决方案--------------------
不要用管道,用tcpip试试看。
------解决方案--------------------
管道不是只有本机能用吗?

用TCP/IP吧。
------解决方案--------------------
引用
站点A访问一切正常。但是站点B和站点C经常报连不上数据库的异常(下面有详细信息)


这个比较奇怪,连接字符串也完全一样吗?
------解决方案--------------------
sql 服务→把Tcp/ip设为启用!
------解决方案--------------------
引用:
管道不是只有本机能用吗?

用TCP/IP吧。
  大神难道都是6点多就起来了吗。还是通宵达旦。
------解决方案--------------------
没有开启数据库的远程访问,或是防火墙