求助: 在公网下无法远程连接SqlServer2008

hb_gx 2010-04-24 02:40:25
我有一台服务器, 申请了一个固定的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的远程连接,
但是如果真的没有开启远程访问,为什么局域网内可以连接呢?


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





...全文
898 27 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
jzy_QQ_396638838 2012-09-06
  • 打赏
  • 举报
回复
我也遇到这个问题
QQ2911420 2010-05-03
  • 打赏
  • 举报
回复
进来看看大家的!
hb_gx 2010-05-03
  • 打赏
  • 举报
回复
问题已经解决了, 这段时间太忙了一直没结贴, 真是不好意思!

Sql2000、Sql2005、Sql2008之间安装在同一台服务器上面是不会有任何问题, 本人在测试和生产环境中也从来没有遇到过不可解决的问题。

本次的问题确实还是出在端口上面,但绝对不是不能共用一个端口的问题。

对Sql2008还是不了解, 总觉得就是一个端口而已能有多大问题呢。 可是没想到Sql2008还有一个动态端口的问题, 默认的是通过动态端口在通讯,因为有硬件防火墙,所以在局域网内并没有额外的防火墙,所以在局域网内访问始终没有发现这个问题。

必须把这个动态端口的值设成空才行, 我因为一直都是放的0所以始终都没有通。



结贴,感谢大家!
feixianxxx 2010-04-27
  • 打赏
  • 举报
回复
.......up
Garnett_KG 2010-04-26
  • 打赏
  • 举报
回复
1) 确保 SQL Browser服务开启。

2) 确保能远程telnet 到公网的IP 1433端口

以上两点都没问题,应该就能连上了。
htl258_Tony 2010-04-26
  • 打赏
  • 举报
回复
我以前也有遇到过类似的问题,最终用IP,端口号 连接得以解决。如果需要帮忙看看,留言一下,远程现场调试。
htl258_Tony 2010-04-26
  • 打赏
  • 举报
回复
2008服务器的端口号不会是1433,你连接访问2008的时候,用


XXX.XXX.XXX.XXX,找到的端口号

这个格式来连接。
Garnett_KG 2010-04-26
  • 打赏
  • 举报
回复
你把IP给我,然后建一个给我测试的SQL账号(可以是最小权限),我帮你看看。
htl258_Tony 2010-04-26
  • 打赏
  • 举报
回复
如果本地局域网内可以访问,如果做完DMZ后应该能访问。当连接上后,在数据库服务器

开始-->运行-->cmd-->netstat -n -->记录相应的连接端口,再解除DMZ,把记录下的端口号做相应的映射 。
htl258_Tony 2010-04-26
  • 打赏
  • 举报
回复
在路由器上做一下DMZ主机试试先。
libin202 2010-04-26
  • 打赏
  • 举报
回复
如果在一台电脑上装的2000和2008,那么他们的映射端口要分开,不然链接不上,还有就是有没有开启sql远程链接服务
永生天地 2010-04-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hb_gx 的回复:]
引用 4 楼 fredrickhu 的回复:
远程连接只需要端口映射就行了 何必那么麻烦?

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



1433端口已经映射, Sql2000和Sql2008都是用的同一端口
[/Quote]
问:
1、你是Sql2000和Sql2008都是配置使用1433端口吗
2、你是Sql2000和Sql2008同时启动吗
feixianxxx 2010-04-25
  • 打赏
  • 举报
回复
帮顶了。。。
hb_gx 2010-04-24
  • 打赏
  • 举报
回复
还是无法解决, 估计是协议的问题, 但是不知道怎么解决
dawugui 2010-04-24
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 hb_gx 的回复:]
telnet 远程IP的 1433端口可以通,

关掉Sql2000的服务, 只开Sql2008, telnet 远程IP的 1433端口也是可以连接的,现在的问题只是在公网上无法连接
[/Quote]
1.关掉2000的服务.
2.设置2008的远程连接.
3.开启1433口.

如果上述三个步骤都做了还不行的话,(卸载2000),再试,如果还不行,帮顶了.
hb_gx 2010-04-24
  • 打赏
  • 举报
回复
telnet 远程IP的 1433端口可以通,

关掉Sql2000的服务, 只开Sql2008, telnet 远程IP的 1433端口也是可以连接的,现在的问题只是在公网上无法连接
dawugui 2010-04-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hb_gx 的回复:]
引用 4 楼 fredrickhu 的回复:
远程连接只需要端口映射就行了 何必那么麻烦?

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



1433端口已经映射, Sql2000和Sql2008都是用的同一端口
[/Quote]
我建议你需要换个端口.
--小F-- 2010-04-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hb_gx 的回复:]
引用 4 楼 fredrickhu 的回复:
远程连接只需要端口映射就行了 何必那么麻烦?

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



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

建议把2008的端口换一个试试
hb_gx 2010-04-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fredrickhu 的回复:]
远程连接只需要端口映射就行了 何必那么麻烦?

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


1433端口已经映射, Sql2000和Sql2008都是用的同一端口
喜-喜 2010-04-24
  • 打赏
  • 举报
回复
的确值得讨论!

围观...
加载更多回复(6)

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧