解决网络库tcp/ip连接失败偶记

服务器的操作系统是2003,是域控制器,所有客户端在同一网段,且同一域中.彼此之间能ping通,可以互访.我适用odbc配置系统dsn,使用SQL.在客户端配置网络库时,使用命名管道能通,使用tcp/ip,就不通了.

报错:
连接失败
SQL State:'01000'
SQL Server 错误:10061
[Microsoft][ODBC SQL Server Driver][TCP/IP Sockets] ConnectionOpen (conect()).
连接失败
SQLState:'08001'
SQL Server 错误:17
[Microsoft][ODBC SQL Server Driver][TCP/IP Sockets] SQL Server 不存在或访问被拒绝


运行svrnetcn,发现命名管道总在tcp/ip的前面,原以为是不是因为命名管道的级别高,删命名管道,还是不通,估计不是这个问题.听说如果服务器使用的是2000,就可以.使用2003就不行.所以如果这时真的话,我认为最大的可能性应该在系统的设置上.
于是,我查看日志.获得以下信息:
您运行的 Microsoft SQL Server 2000 版本或 Microsoft SQL Server 2000 Desktop Engine (也称为 MSDE) 和 Microsoft Windows Server 2003 家族使用时存在已知的 安全弱点。为了减少计算机被某些病毒的攻击,Microsoft SQL Server 2000,MSDE 或 两者的 TCP/IP 和 UDP 网络端口被禁用。要启用这些端口,您必须从 http://www.microsoft.com/sql/downloads/default.asp 或  http://www.microsoft.com/china/sql/downloads/default.asp 安装一个修补程序, 或 Microsoft SQL Server 2000 或 MSDE 的最新服务包。

看来是2003独有的问题了。为了安全考虑的。试想现在有些黑客入侵,就使用1433端口。2003先禁掉它,使有道理的。OK,想通了。就动手了。安装过程中别忘了钩上“对所有数据库启用跨数据库的所有权连接”,当然这个是微软不推荐的。因为存在安全隐患阿。好。打了补丁重启,完事。可以连接了。

posted on 2006-01-03 09:56 System And Net 阅读(3118) 评论(1)  编辑 收藏 引用 所属分类: net

评论

# re: 解决网络库tcp/ip连接失败偶记 2008-07-22 11:02   回复  更多评论   

我有一台SQL2000服务器。同网段内可以访问数据库,跨网段就不行了,是什么原因
只有注册用户登录后才能发表评论。