数据库服务器是sql server 2000企业版+windows 2003server,以前局域网客户端软件都能正常使用数据库,连续正常运行了进一年的时间,可是最近突然出现客户端软件无法连接数据库,通过客户端软件自带的数据库连接测试工具报告:sql server不存在或无法访问。通过odbc连接sql server时据库时,错误提示如下:“连接失败:sqlstate:01000 sql server错误:64 [microsoft][odbc sql server driver][dbnetlib]connectionopen(connection)连接失败;sqlstat:08001 sql server错误:17 [microsoft][odbc sql server driver][dbnetlib]sql server不存在或无法访问”,ping数据库服务器ip地址测试是通的。后到数据库服务器本机进行测试客户端软件和odbc都能正常连接数据库,实在没法重启数据库后问题消失,局域网内的客户端软件也可以连接数据库,本以为是数据库服务器运行时间太久造成的问题,结果在第二天和第三天连续出现相同的故障,望各位高手帮忙查找故障原因。

解决方案 »

  1.   

    1:去掉本系统的防火墙和其它一切防火墙。 
    2:在客户端执行 telnet 服务器ip 1433,如果提示错误,则sql的缺省端口被禁止-此步骤可忽略 
    3:查看服务器的安全策略,打开即可。 
     管理工具-本地的安去策略-ip安全策略-双击新ip安全策略-规则-1433-筛选器操作-允许。
      

  2.   

    以前从没出现这个问题,在出现这问题之前客户端软件已经正常使用了快一年的时间了,而且磁盘空间也没有满,还有几十G的空间空闲,另外就是防火墙已经关闭了,而且机器重启后客户端软件和odbc又能正常连接数据库,所以应该不是防火墙的原因
      

  3.   

    1、防火墙的设置
    2、系统外围配置,是否启用tcp/ip协议。
    3、是否启用了远程连接。
      

  4.   

    tcp/ip协议启用了,防火墙也是关闭的,你说的远程连接是windows自带的远程桌面连接吗?这个是启用了的,这个同客户端连接数据库有什么关系?
      

  5.   

    连接泄露和服务器不稳定应该不会的,因为这套系统在出现这个问题之前已经稳定的连续运行了近一年的时间了,如果是连接泄露和服务器不稳定的话早就应该出现这个问题了。还有就是在出现问题的时候,数据库系统所在的服务器本机客户端可以正常连接数据库,通过odbc也能正常连接。