检查防火墙设置,连不上时用扫描器从B机扫描A机,看SQL的1433端口是否打开,托管一般都有硬件防火墙,虽然有内部IP,如果物理线路经过硬件防火墙,设置不对的话也有可能被屏蔽了

解决方案 »

  1.   

    网络连不上,首先要看是不是防火墙的问题
    还有就是SQL的1433端口是否打开
      

  2.   

    "在服务器A中查询分析器里,用自己的ip和地址也都连不上只能用local"这首先说明A的配置有问题,远程连接是用TCP/IP连接的,自己都无法用IP连接自己,那别人当然连接不上.一般来说, 用IP地址连接不上做这些检查:
    1.SQL Server服务器--开始--程序--Microsoft SQL Server
    --服务器网络实用工具
    --看看启用的协议中,有没有"TCP/IP"  如果没有的话,那就肯定不能用IP地址连接的,因为IP地址是使用TCP/IP协议的
      不启用TCP/IP就禁用了IP地址连接
    2.如果已经启用了TCP/IP,则在"服务器网络实用工具",点属性,看看默认端口是多少
      如果不是1433,则连接的时候要用: IP地址,端口号  做为sql服务器名来连接
    3.如果还是不行,检查你的TCP/IP协议是否工作正常,最好是删除重新安装一次
      一般的检查方法是:
      a.保证ping <服务器IP地址> 通(有防火墙的先关闭防火墙)
      b.在命令提示符下执行:telnet <服务器ip地址> 1433 不会报错4.  命令提示符下,执行下面的命令,看看服务器有没有在1433端口(1433对应步骤2中的端口号)侦听
        netstat -na
        命令执行后,如果列表中有类似下面的行,则说明服务器开启了1433端口
    Proto  Local Address          Foreign Address        State
    TCP    0.0.0.0:1433           0.0.0.0:0              LISTENING
        如果确保有上述行,但也无法访问sql,那么先把sql服务停止,再执行上述命令,如果仍然有上述行,说明其他程序占用了1433端口,这种情况可以修改sql的端口号(参考步骤2),或者关闭占用端口的对应的程序.   如果服务器没有在1433端口侦听,那么可能是防火墙禁止了,也可能是sql没有打补丁的原因.
       
    检查你的SQL有没有打补丁,没有的话要打上补丁,检查的方法是在查询分析器中运行:
     select @@version
     如果出来的版本号是8.00.2039以下,则表明你未安装sp4的补丁,要装上.SQL补丁下载:
    全部补丁的位置(在下载页的中间部分,可以选择语言,以下载和sql server实例语言对应的补丁)
    http://www.microsoft.com/downloads/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&displaylang=zh-cn
    应该安装的是
    http://download.microsoft.com/download/9/b/f/9bff6646-2cdb-4069-ada0-548be9cb9338/SQL2000-KB884525-SP4-x86-CHS.EXE
    注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装
    如果你的操作系统是xp,那么在安装xp sp2后,不管以前是否安装过sql sp4,都要再安装一次,并且在防火墙中开启1433端口,否则无法被其他电脑访问