我觉得我已经做了一切尝试打开外部用户连接到我的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”
答案 0 :(得分:1)
命名的SQL实例侦听动态端口。这是Sql Server Browser Service的功能,用于通知客户端实际端口。 Sql Browser侦听UDP 1434并使用当前实例正在使用的端口号应答所有客户端请求。 TCP和命名管道协议都需要Sql Server Browser服务。客户端透明地使用SQL Server Browser,不需要特殊配置。
要配置SQL Server Express以允许远程连接,您必须完成以下步骤:
详细信息请参阅 the right permissions
将How to configure SQL Express 2012 to accept remote connections添加到ConnectionString:
{{1}}