有两台机子Websvr和DBsvr
从Websvr查询分析器一直连接不上DBSvr
但是在程序上(网页都放在Websvr上)
上次是ADO.NET(C#作的网页)可以连接上DBSvr正常使用,但是ADO(ASP做的网页)连接不上DBSvr
现在倒过来,ADO.NET无法连接DBSvr,但是ADO却正常,查询分析器还是不行
但是另外一机子(非Websvr)的查询分析器却可以连到DBsvr太奇怪了,为什么会发生着种问题呢
从Websvr查询分析器一直连接不上DBSvr
但是在程序上(网页都放在Websvr上)
上次是ADO.NET(C#作的网页)可以连接上DBSvr正常使用,但是ADO(ASP做的网页)连接不上DBSvr
现在倒过来,ADO.NET无法连接DBSvr,但是ADO却正常,查询分析器还是不行
但是另外一机子(非Websvr)的查询分析器却可以连到DBsvr太奇怪了,为什么会发生着种问题呢
而且前两天ADO.NET还是可以的,就今天突然就不行了
上个礼拜是ADO不行,后来也是突然就行了
我早上打了sp4的补丁了,但是还是不行如果用查询分析器连接的话
提示是“Sql Server不存在或访问被拒绝”
但是别的机子可以连上的
因为有其他的人在用这个DBSvr,一切正常
只有WebSvr不能访问
DBSvr,WebSvr,其他使用的人都在同一个内网内
然后看看DB Server上1433端口是否运行正常。可以使用cmd调出命令窗口,敲入netstat -a 查询本机所有开放的端口。
如果检测到DB Server 1433端口,在Web Server上使用 telnet XXX.XXX.XXX.XXX 1433 测试连接一下。如果能连上证明 1433端口是开放的,同时查询防火墙的设置。
在某些情况下,由于SQL Server连接要依赖机器名解析DNS。所以如果还有问题,用文本编辑器打开C:\WINNT\system32\drivers\etc(以WIN2000为例)下的hosts文件
添加如下文字
127.0.0.1(Web服务器的IP地址) localhost(Web服务器的机器名称)
在WebServer上同样操作,不同的时添加DBServer的IP和机器名,然后保存退出。
调出cmd命令窗口,使用机器名称互相PING,看看是否能得到持续稳定的结果。
然后在尝试Telnet连接。如果还不行,可能性有两种,一种查看一下DB的Sql Server Network Utility工具,看看是否存在命名通道和TCP两个协议,然后看看是1433端口是否被占用或者被调整。
如果1433端口一切正常,检测网络物理连接,那么可能时数据库的不稳定因素造成的,实在不行就重装SQL吧。(但是这是万不得已的方法)
以上的方法应该能查出楼主问题的所在,根据具体问题寻找解决方法吧。