是否通过路由器连到INTERNET?如果是在路由器里设置一下端口转发.
如果服务器的服务端口是1433,在路由器里将这个端口转发到192.168.0.1这个IP地址.

解决方案 »

  1.   

    外网走tcp/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端口,否则无法被其他电脑访问
    上述操作均在sql server服务器上进行,保证了服务器能够正常使用IP地址访问后,再从客户端访问.
      

  2.   

    对于楼主的情况:
    能ping通,说明网络是通的,TCP/IP网络协议工作正常
    内网能访问,说明SQL Server的TCP/IP Net-Library工作正常.所以重点检查:
    1、防火墙,是否阻隔了外网的访问。
    2、网络供应商,是否因为安全原因限制了1433端口的通信,这种情况可以改sql的tcp/ip端口来做测试,或者咨询你的网络供应商
      

  3.   

    网内当然不能用外网ip访问,建过网站的人应该知道.
    在网外访问要用外网ip,但是在路由器外网端口上做映射,象:1433口 等等.
      

  4.   

    兄弟遇到和我一模一样的问题了,昨天我也发了一个帖子(100分啊),但问题还是没有解决。
    我这里是两台机器连到交换机上,其中一台装了sqlserver,通过adsl专线上网,我需要在外网
    访问其中的sqlserver。如果兄弟找到了解决的办法麻烦告诉我一声,不甚感激!不甚感激!