我正在尝试使用sqlexpress,所以我将它安装在计算机上,当我进入网络(工作中)时,我可以使用machinename \ sqlexpress然后使用用户名和密码成功登录。
问题:我无法从网络外部(从家里)连接。 在工作中,我有一个静态IP。我去myipaddress.com并使用该IP地址远程连接:\ 47.23.xx.xx,2301 \ sqlexpress,但仍然无法连接。
在研究了这个问题后,我启用了tcp / ip,尝试使用端口1433,然后在1433被阻止的情况下更改为2301,Windows 8防火墙:为sqlserver添加了异常,我运行了sqlexpress和浏览器服务。
我想我的问题是:我是否正确地假设使用我从myipaddress.com获得的IP地址,然后配置端口和服务器名称sqlexpress应该连接我? 我有点困惑,因为如果静态IP用于整个路由器,那么它如何知道在网络上引导外部呼叫到该机器?和sqlexpress在它上面运行?所有这些都是通过端口号完成的吗?
答案 0 :(得分:1)
你几乎就在那里,正如你所说,公共IP地址是针对整个路由器的,但你可以配置一个端口转发功能,这将使路由器知道应该将流量转发到哪里。怎么做,登录你的路由器,寻找端口转发功能的位置,然后在端口空间配置你为sql express分配的端口,并在它前面有ip地址,输入机器的ip地址运行sql server,这样路由器将能够识别使用端口号的应用程序是哪台计算机并转发流量。
注意:您必须为运行sql server的计算机配置客户端列表或dhcp保留,以便每次重新启动计算机时ip地址都不会更改。 这该怎么做: 登录到您的路由器,转到dhcp服务器,应该有dhcp预留或客户端列表,具体取决于您的路由器类型,将运行sql server的系统的mac id和所需的IP地址放在必填字段中,保存
这样您就可以远程连接。祝你好运。
答案 1 :(得分:0)
你几乎肯定会碰到一个不知道如何管理这种流量的防火墙,因此拒绝它。此外,您从工作中看到的静态IP是网络地址转换(NAT)地址,不太可能接受连接。
在这个用例中使用VPN要好得多;无需将测试系统暴露给互联网,这可能是一个主要的安全风险。如果您还没有VPN设置,请咨询您的管理员...