XP系统,通过设置路由器的DMZ映射到外网,内网IP是192.168.1.100,外网IP是116.3.15.198。测试过映射是成功的。安装的是SQL Server2000个人版,SP4补丁。在本机通过内网192.168.1.100进行SQL Server注册成功,通过外网116.3.15.198注册不成功,请高手指教是什么原因?以下是我的检查信息及结果:
1.telnet 192.168.1.100 1433 通过
  telnet 116.3.15.198 1433 不通,提示“……无法打开连接,连接失败”的错误。
2.通过端口扫描软件扫描116.3.15.198没有找到1433端口(21,80等端口是开启的,事实证明通过外网IP,我的网站和FTP服务都能访问,就是SQLServer不能访问!)。
3.sql server 2000服务肯定是启动的。
4.通过服务器网络实用工具看命名管道协议和tcp/ip协议是启用的,tcp/ip协议设置的也是默认1433端口。
5.windows防火墙是关闭的。
6.执行netstat -an存在信息:tcp 0.0.0.0 1433 listening 

解决方案 »

  1.   

    应该不是路由器的问题吧,因为我通过外网IP 116.3.15.198 访问我机器上的网站是好使的,通过FTP访问我机器上的FTP服务也是好使的呀!路由器还需要什么特殊的设置吗?请教
      

  2.   

    通过外网访问机器,主要是被访问那台机器是否允许外网用户访问这个端口.应该先检查服务器的防火墙,是否允许未明身份的人访问该端口.如果没有允许权限,你再怎么试也没用.这跟服务器上的SQL服务端也有可能有关系.个人版是不是提供外网的访问还不清楚,你是不是应该再确认下呢?
      

  3.   

    telnet 192.168.1.100 80,telnet 192.168.1.100 21都是通的,SQL服务器属性中的允许远程访问的复选框也是选中的啊?还应该有其他的什么设置吗?我已经弄了一天了,真郁闷!
      

  4.   

    telnet 192.168.1.100 1433能通吗
    telnet 116.3.15.198 1433能通吗
      

  5.   

    强调一下,windows防火墙是关闭的,系统再没有其他的防火墙,teilnet 外网不通。以下是我的检查信息及结果: 
    1.telnet 192.168.1.100 1433 通过 
      telnet 116.3.15.198 1433 不通,提示“……无法打开连接,连接失败”的错误。 
    2.通过端口扫描软件扫描116.3.15.198没有找到1433端口(21,80等端口是开启的,事实证明通过外网IP,我的网站和FTP服务都能访问,就是SQLServer不能访问!)。 
    3.sql server 2000服务肯定是启动的。 
    4.通过服务器网络实用工具看命名管道协议和tcp/ip协议是启用的,tcp/ip协议设置的也是默认1433端口。 
    5.windows防火墙是关闭的。 
    6.执行netstat -an存在信息:tcp 0.0.0.0 1433 listening  
      

  6.   

    静态端口映射:让外网访问数据库服务器。
    PIX501(config)# static (inside,outside) tcp 192.168.14.6 1433 10.0.0.2 1433 netmask 255.255.255.255 0 0
    PIX501(config)# static (inside,outside) tcp 192.168.14.6 1423 10.0.0.2 1423 netmask 255.255.255.255 0 0
    PIX501(config)# static (inside,outside) udp 192.168.14.6 1434 10.0.0.2 1434 netmask 255.255.255.255 0 0
    PIX501(config)# static (inside,outside) tcp 192.168.14.6 sqlnet 10.0.0.2 sqlnet netmask 255.255.255.255 0 0
    你参考下路由的端口映射吧 
      

  7.   

    路由器又该如何配置呢,我试着配了两个虚拟服务一个内外端口都是1433,一个内外端口都是1434,但telnet外网还是不通
      

  8.   

    就是路由配置的问题 
    路由配置好了就行了  还有1423,SQLNET 端口 
    看我给你发的配置的 
    那个是 思科防火墙配置
    具体的路由配置要看路由了这里帮不了你了 
      

  9.   

    看看你局域网里面能不能连接。要是不能连接,请检查sqlserveragent 这个服务启动没有?没有启动的话,启动它。我的刚才局域网内部不能连接sqlserver 2005,就是这样解决的。
    不过我在启动sqlserveragent这个服务的时候出错了,说是用户不对。解决办法是:选择这个服务的属性,然后选择用户,他有两个选项一个是本地用户,一个是帐户。如果是当前的选项不行的话,就选另外的一个选项。然后重新启动服务就可以了。我的就是这样解决的。希望对你有帮助。