远程访问sql server ,provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接

服务器出了些小毛病,总是报告“无法打开到 SQL Server 的连接”,如下

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

找了一些资料,说什么的都有,有说是因为装了SQL Server 2005的原因,有的说是.NET 2.0的名为LocalSqlServer的内置字符串的原因……但是我的数据库使用的是SQL Server 2000,操作系统是Windows 2003。没有使用到SQL Server 2005,也没有安装过SQL Server 2005,因此,可以排除这些因素。

连接字符串配置都是正确的,之前测试也没有任何问题。server使用的是IP地址,能够Ping通,也不会是计算机名称无法解析的原因。

但是,使用telnet [IP地址] 1433检查时发现,无法连接。根据一些资料的说法,可能和没有安装SQL Server 2000的补丁程序有关。如果版本号低于2039,就有可能会产生上述问题。使用 select @@version 命令查看SQL Server版本发现版本号是194,的确没有安装SP4。

死马且当活马医,抓住一根救命稻草,即使不是这个原因,也要试一试。装上SP4后一试,果然可以正常连接了。不过为什么呢?谁知道
posted @ 2009-04-03 13:12  翔宇编程  阅读(3891)  评论(1编辑  收藏  举报
51CTO