ado.net连接不上sql2008:provider: 命名管道提供程序, 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 Server和Windows身份验证模式”。

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

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

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

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

你可能感兴趣的:(VS.NET开发,数据库)