从外部ip启用sql server连接

时间:2017-08-13 20:28:54

标签: sql-server networking tcp

我觉得我已经做了一切尝试打开外部用户连接到我的SQL Server的端口......

在Sql Server配置中,我启用了listen all并将ipAll下的TCP端口设置为1433.

在Windows防火墙中,我创建了3个入站异常,一个用于tcp 1433,一个用于udp 1434,另一个用于SQL Server程序本身

在我的路由器设置中,我确实禁用了防火墙,并为TCP 1433和UDP 1434启用了端口转发。

有什么我错过了让这种联系起作用吗?在我的java应用程序中,如果我使用本地IP 10.0.0.34,我可以连接到数据库,但如果我使用外部IP则无法连接。我收到的错误是连接超时,然后是检查我的防火墙等的说明。

如果我在端口1433上使用portqry和我的ip,它说端口与m-sql-server服务相关(这是正确的),但端口是“FILTERED”而不是“LISTENING”

1 个答案:

答案 0 :(得分:1)

命名的SQL实例侦听动态端口。这是Sql Server Browser Service的功能,用于通知客户端实际端口。 Sql Browser侦听UDP 1434并使用当前实例正在使用的端口号应答所有客户端请求。 TCP和命名管道协议都需要Sql Server Browser服务。客户端透明地使用SQL Server Browser,不需要特殊配置。

要配置SQL Server Express以允许远程连接,您必须完成以下步骤:

  1. 在要从远程计算机连接的SQL Server实例上启用远程连接。
  2. 配置SQL服务器以侦听静态端口
  3. 启用SQL Server Browser服务。
  4. 配置防火墙以允许与SQL Server和SQL Server Browser服务相关的网络流量。
  5. 详细信息请参阅 the right permissions

    How to configure SQL Express 2012 to accept remote connections添加到ConnectionString:

    {{1}}