通过 Internet 连接到数据库
Posted
技术标签:
【中文标题】通过 Internet 连接到数据库【英文标题】:Connect to database over internet 【发布时间】:2018-01-19 19:13:05 【问题描述】:我想通过 Internet 连接到托管在另一台计算机上的 MS SQL 数据库。 我做了什么:
-> 我使用的是 NO-IP(动态 DNS)
-> 我创建了 SQL 身份验证帐户,我可以使用 MSSMS 从本地计算机连接到它,如下所示: 服务器名称: local_ip\SQLEXPRESS 登录名: ###,密码: ###
-> 我禁用了防火墙
-> 我在 SQL Server 配置管理器中设置端口(设置为 49XXX)并将路由器设置中的此端口和 1434 转发到我的计算机
-> SQL Server Browser 正在运行
现在我想从另一台计算机(不同的网络)连接到这个数据库:服务器名称: tcp:my_no_ip_name.ddns.net,49XX 登录: # ##, 密码: ###
我无法连接。我一直收到“无法连接到 my_no_ip_name.ddns.net”
我错过了什么吗?
【问题讨论】:
“禁用防火墙”。嗯,有一些东西会出现在关于你为什么被黑的报告中。 试试canyouseeme.org 看看您的服务是否可以访问。输入你的 ip 和你正在运行 mysql 的端口。 根据这个网站,我什至无法访问端口 80 我的服务器名称有效吗?还是我应该使用不同的格式? 在 serverfault 上问这个问题会更好吗? 【参考方案1】:在本地 ssms 上,尝试以 yourserver.ddns.net,portnumber\instancename 身份连接。 windows 身份验证不适用于我的,但可以使用 sql server 身份验证(尽量避免使用 sa 帐户)。不要忘记在路由器上进行端口转发并在 sql server 防火墙中打开端口。在配置管理器中将端口保留为默认 (1433)。不是最安全的,但是一旦它起作用,您可以通过将其更改为非默认端口并在 sql server 登录中使用更安全的用户 ID 来加强它,该用户 ID 只能访问您想要的数据库...
【讨论】:
以上是关于通过 Internet 连接到数据库的主要内容,如果未能解决你的问题,请参考以下文章
通过 Internet 连接到 SQL Server Express 2012
虚拟机同时连接内网 (通过网线连接到开发板) 和外网 (连接至Internet) 的一种解决办法