今天遇到个SQL客户端连接超时已过期的问题,过程还比较有意思:具体表现在应用ODBC连接的时候,提示超时已过期错误,于是打开ODBC重新配置,输入用户密码下一步的时候提示超时已过期。确定以后重新点“下一步”就可以连接上了。关闭ODBC重新打开,还是要连两次才能连接上。所以关联ODBC的应用就会报错。然后,我尝试用企业管理器进入SQL SERVER,还是提示超时已过期,在企业管理器的选项里面将超时时间设置为40秒,长时间连接后可以连接上,不需要重试。但是ODBC和查询分析器都和以前一样需要重试才可进入,汗!ODBC又没有超时选项可以调节。
于是怀疑网络通信受阻,PING一下,没有丢包现象。将网卡设置为10M模式,仍旧没有改善。把本本接上去,居然不超时,不管是默认4秒的企业管理器还是ODBC都正常的不得了,初步判断不是网络通信的问题。
有资料说SQL SERVER 2000需要打补丁,不过我记得是在WIN2003上需要补丁,虽然疑惑还是试试,下载了SQL SERVER 2000 SP4补丁安装,重启服务以后,故障依旧。
于是想用管道连接,但是PING服务器名居然出错,估计元凶在这里了,打开编辑HOSTS文件,将服务器的 IP 和服务器名写入HOSTS,然后重新尝试默认超时为4秒企业管理器,PASS,打开ODBC尝试配置,PASS,于是,这个故障告一段落。 |