远程连接到 LAN 内的 SQL 服务器

远程连接到 LAN 内的 SQL 服务器

我的家庭局域网内使用的是 SQL Server 2008。我已将其配置为接受远程连接,现在我可以从局域网内的其他 PC 连接到服务器。

当我尝试从家庭局域网之外的计算机连接到服务器时,问题就出现了。我已禁用路由器的防火墙,并在端口 1433 上配置了虚拟服务器,以转发到正确的局域网 IP。出了什么问题?为什么它不起作用?

非常感谢你的帮助~!

编辑:

这是我一直收到的错误:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。未找到或无法访问服务器。验证实例名称是否正确以及 SQL SERVER 是否配置为允许远程连接。(提供程序:Sql 网络接口,错误:25-连接字符串无效)

好的,这些是我的路由器的详细信息:edimax br-6204wg 我不确定我应该如何浏览 google.com。你能具体一点吗?

答案1

当您在家庭局域网之外时,首先确保您可以 ping 您尝试连接的地址。例如,如果您的家庭互联网连接的 IP 地址是 XXXX,则打开命令提示符并输入:

ping xxxxx

X 将被数字替换,如 50.60.70.80。如果数字以 192 开头,则它不是您家庭互联网连接的真实外部 IP 地址。

如果您可以成功 ping IP 地址并得到答复,请接下来尝试 telnet 到 SQL Server。打开命令提示符并输入:

远程登录 XXXX 1433

如果没有超时,那么你应该能够连接 SSMS,但我敢打赌它会超时。一些互联网提供商会过滤 1433,因为它是一些病毒的来源。

这是另一个很好的连接故障排除链接 - 它适用于 SQL 2000,但适用相同的基本问题:

http://support.microsoft.com/kb/827422

答案2

只是想想,您当前所在的位置可能正在阻止出站端口。例如,从您的办公室开始,办公室的防火墙正在阻止出站流量的端口。

答案3

两个可能的问题:

  1. 您的 SQL 服务器不知道如何路由到网关设备(如果您可以从它浏览网页,则不太可能)。
  2. 防火墙上的虚拟服务器是 Web 流量的代理设备,无法理解您的 SQL 流量。您需要“端口转发”

将 SQL 服务器暴露给整个互联网?呃,如果我要存储信用卡或个人身份信息,我不会这么做。

答案4

确保 SQL Server 正在监听正确的接口。

可能是它正在监听您路由无法访问的 IP。您可以通过打开 SQL Server 配置管理器并在协议下查找 TCP/IP,然后查看 IP 地址选项卡来找到这些设置。

例如,它可能正在监听 IP6 地址,但您的路由器只允许 IP4 连接。

否则我建议抓住网络映射并查看特定位置有哪些端口可用。从 LAN 内部针对服务器运行该程序,以确保端口符合您的预期,然后从远程位置针对路由器运行该程序,查看该端口是否可用。

错误消息表明您的连接字符串不正确,请发布,以便我们仔细检查

相关内容