远程连接到局域网内的SQL服务器

我在家乡局域网内使用SQL Server 2008。 我已经configuration它接受远程连接,现在我可以从局域网内的其他PC连接到服务器。

当我尝试从家庭局域网之外的计算机连接到服务器时,问题就会增加。 我已经禁用了路由器的防火墙,并且已经在端口1433上configuration了一个虚拟服务器,并将其转发到正确的lan ip。 怎么了? 为什么它不工作?

非常感谢您的帮助〜!

编辑:

这是我不断收到的错误:

与SQL Serverbuild立连接时发生networking相关或实例特定的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL SERVERconfiguration为允许远程连接。 (提供程序:Sqlnetworking接口,错误:25-连接string无效)

OK这些是我的路由器的细节:edimax br-6204wg我不知道我应该如何浏览google.com。 你能更具体一点吗?

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

PING XXXX

X将会被50.60.70.80这样的数字取代。 如果数字以192开头,那么它不是您家庭互联网连接的真实外部IP地址。

如果您可以成功ping通IP地址并获得答案,那么请尝试telnet到SQL Server。 打开命令提示符并键入:

TELNET XXXX 1433

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

这是另一个很好的连接故障诊断链接 – 它适用于SQL 2000,但同样的基本问题适用:

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

只是一个想法,你目前所在的位置可能会阻止出站端口。 例如在办公室,办公室的防火墙阻止了出站stream量上的端口。

两个可能的问题:

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

暴露一个SQL服务器到互联网? 呃,如果我存储信用卡或个人身份信息,我不会这样做。

有很多事情会导致这种情况。 为了缩小范围,我们需要更多关于您的环境的信息。

  • 你想要连接到SQL什么? 一个Web应用程序? SQL Server Management Studio?
  • 这是SQL Server 2008 Express还是完整版?
  • 你想连接到默认实例或命名实例吗?
  • 你在服务器上启用了TCP / IP吗? (我假设这是的)
  • 你可以发布你的连接string? 这通常是连接问题的根源。

这里有一个你可以通读的线索给出了这个问题的各种解决scheme。

如果启用了防火墙,则可能还需要在服务器上允许连接到SQL:

  • 开始>运行> Firewall.cpl
  • 点击例外标签
  • 添加sqlservr.exe(通常位于C:\ Program Files \ Microsoft SQL Server \ MSSQL.x \ MSSQL \ Binn)和端口(默认为1433)

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

这可能是它正在监听一个不能访问你的路由的IP。 您可以通过打开SQL Serverconfigurationpipe理器并查看协议然后查看TCP / IP,然后查看IP地址选项卡来find这些设置。

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

如果我没有build议抓住NMAP并查看某些地点可用的端口。 从局域网内部对服务器运行它,以确保端口符合您的期望,然后从远程位置对着路由器运行它,查看该端口是否可用。

错误消息说您的连接string不正确,请张贴,所以我们可以仔细检查

谢谢你的回复。

我稍后会更详细地检查abigblackman的答案,目前我已经安装了Hamachi来突破我的lannetworking和我的朋友之间,所以我可以很容易地连接到sql服务器。 它工作正常(实际上非​​常快)。

再次感谢您的支持。 Vondip