我在一台装win2003的电脑上装了sql sever 2000,在另一台只装了它的客户端,但是我进到查询分析器里的时候老是连接不上,提示“无法连接到服务器,服务器:消息17,级别16,状态1 [microsfot][ODBC Sql Sever Driver][DBNETLIB]SQL Sever不存在或访问被拒绝”
    这个问题怎么解决啊,都能PING通那台主机了,是不是要设置数据源啊,我也设置了啊,还是不行,各位帮忙解决啊!!!
    先谢谢了!!!

解决方案 »

  1.   

    一."SQL   Server   不存在或访问被拒绝"   
        
      这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多.   
        
      一般说来,有以下几种可能性:   
        
      1,SQL   Server名称或IP地址拼写有误   
      2,服务器端网络配置有误   
      3,客户端网络配置有误   
        
      要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因.   
        
        
      =============   首先,检查网络物理连接   =============   
      ping   <服务器IP地址/服务器名称>   
        
      如果   ping   <服务器IP地址>   不成功,说明物理连接有问题,这时候要检查硬件设备,如网卡,HUB,路由器等.   
      还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如   ISA   Server.防火墙软件可能会屏蔽对   ping,telnet   等的响应   
      因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口.   
        
      如果ping   <服务器IP地址>   成功而,ping   <服务器名称>   失败   
      则说明名字解析有问题,这时候要检查   DNS   服务是否正常.   
      有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,   
      具体的方法是:   
        
      1.使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc).   
      添加一条IP地址与服务器名称的对应记录,如:   
      172.168.10.24   myserver   
        
      2.或在   SQL   Server   的客户端网络实用工具里面进行配置,后面会有详细说明.   
        
        
      =============   其次,使用   telnet   命令检查SQL   Server服务器工作状态   =============   
      telnet   <服务器IP地址>   1433   
        
      如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明   SQL   Server   服务器工作正常,并且正在监听1433端口的   TCP/IP   连接   
      如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动   SQL   Server   服务,   
      也可能服务器端没启用   TCP/IP   协议,或者服务器端没有在   SQL   Server   默认的端口1433上监听.   
        
        
      =============接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道.是否启用了   TCP/IP   协议等等   =============   
      可以利用   SQL   Server   自带的服务器网络使用工具来进行检查.   
        
      点击:程序   --   Microsoft   SQL   Server   --   服务器网络使用工具   
        
      打开该工具后,在"常规"中可以看到服务器启用了哪些协议.   
      一般而言,我们启用命名管道以及   TCP/IP   协议.   
      点中   TCP/IP   协议,选择"属性",我们可以来检查   SQK   Server   服务默认端口的设置   
      一般而言,我们使用   SQL   Server   默认的1433端口.如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.   
        
        
      =============   接下来我们要到客户端检查客户端的网络配置   =============   
      我们同样可以利用   SQL   Server   自带的客户端网络使用工具来进行检查,   
      所不同的是这次是在客户端来运行这个工具.   
        
      点击:程序   --   Microsoft   SQL   Server   --   客户端网络使用工具   
        
      打开该工具后,在"常规"项中,可以看到客户端启用了哪些协议.   
      一般而言,我们同样需要启用命名管道以及   TCP/IP   协议.   
      点击   TCP/IP   协议,选择"属性",可以检查客户端默认连接端口的设置,该端口必须与服务器一致.   
        
      单击"别名"选项卡,还可以为服务器配置别名.服务器的别名是用来连接的名称,   
      连接参数中的服务器是真正的服务器名称,两者可以相同或不同.别名的设置与使用HOSTS文件有相似之处.   
        
        
      通过以上几个方面的检查,基本上可以排除第一种错误.   
    检查你的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端口,否则无法被其他电脑访问   
      

  2.   

    SQL SERVER 服務啟動了嗎?
      

  3.   

    天啊!!!
    roy_88!!!
    我按照你的方法去做了,还是没有解决问题啊!!!
    还有什么别的情况吗
      

  4.   

    telnet   <服务器IP地址>   1433   
    这个都不成功了,提示说连接不成功,失败。
    你的解决方法是
    “没有启动   SQL   Server   服务,   
      也可能服务器端没启用   TCP/IP   协议,或者服务器端没有在   SQL   Server   默认的端口1433上监听. ”
    但是 TCP/IP   协议已经有了啊,SQL   Server   服务也启动了啊!
    “服务器端没有在   SQL   Server   默认的端口1433上监听. ”这个怎么识别啊???
    希望各位朋友帮忙啊!!!