ado.net连接不上sql2008provider 命名管道提供程序, error 40 - 无法打开到SQL Server的连接

详细的错误信息:在 建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)

 

环境:

 

数据库服务器:Windows Server 2008 + Sql Server 2008 R2

 

应用服务器:Windows Server 2008  + IIS7 + ASP.NET 2.0.NET Framework 3.5

 

解决过程:

 

1、检查连接字符串,服务器IP,数据库名,用户名和密码均正确。把Data Source用机器名,而不是IP地址表示,未解决;

 

2、在Sql Server 2008中检查远程连接开关,一切正常:Sql Server Management Studio-右击服务器名-属性-连接,选中“允许远程连接到此服务器”。

 

3、在Sql Server 2008中检查是否允许Sql Server登录模式,一切正常:Sql Server Management Studio-右击服务器名-属性-安全性,选中“SQL ServerWindows身份验证模式”。

 

4、检查是否允许命名管道和TCP/IP连接,一切正常:“SQL Server 配置管理器”-依次检查几个网络配置的TCP/IP和命名管道是否打开。

 

5、检查应用服务器的防火墙,是否允许访问数据库服务器的1433端口。关闭了防火墙,未解决。

 

6、关闭数据库服务器防火墙,终于成功。

 

 

郁闷的地方在于:为什么安装SQL Server 2008的时候,系统不默认自动打开本机防火墙的1433端口?!

 

posted on 2011-08-20 16:33  落叶十九  阅读(2554)  评论(0编辑  收藏  举报