日期:2014-05-17  浏览次数:20415 次

求助: 在公网下无法远程连接SqlServer2008
我有一台服务器, 申请了一个固定的IP地址, 局域网内也有一个IP地址136.128.25.80

操作系统是 WindowsServer2003

安装有SqlServer2000,SqlServer2008 (Sql2000和Sql2008共存了很长时间, 运行没有任何问题和冲突。)

Sql2000为默认实例名, Sql2008实例名为GaoSheng

局域网内
  SqlServer2000能够远程连接 136.128.25.80
  SqlServer2008能够远程连接 136.128.25.80\GaoSheng

在公网上, 将IP换成公网IP
  SqlServer2000能够远程连接 XXX.XXX.XXX.XXX
  SqlServer2008远程连接报如下错误。 XXX.XXX.XXX.XXX\GaoSheng

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错) (.Net SqlClient Data Provider)


查找了很多帮助, 都没有关于局域网和公网连接的例子, 都只是说没有开启SqlServer的远程连接,
但是如果真的没有开启远程访问,为什么局域网内可以连接呢?


目前硬件防火墙和软件防火墙都已经关闭, 以上问题还是无法解决, 特此求助!







------解决方案--------------------
你的端口 开了没。。。
TCP/IP等协议启用了么?
------解决方案--------------------
探讨
引用:
远程连接只需要端口映射就行了 何必那么麻烦?

如果有路由器 只需要在路由器上做个映射就可以了



1433端口已经映射, Sql2000和Sql2008都是用的同一端口

------解决方案--------------------
如果本地局域网内可以访问,如果做完DMZ后应该能访问。当连接上后,在数据库服务器

开始-->运行-->cmd-->netstat -n -->记录相应的连接端口,再解除DMZ,把记录下的端口号做相应的映射 。
------解决方案--------------------
你把IP给我,然后建一个给我测试的SQL账号(可以是最小权限),我帮你看看。