MSSQL多实例跨VM远程连接防火墙阻断问题排查求助
MSSQL多实例开启防火墙后无法远程连接的遗漏配置排查
- 必须开启SQL Server Browser服务的UDP 1434端口入站规则
客户端如果通过实例名(而非直接指定端口)连接,会先通过UDP 1434端口向SQL Server Browser服务查询实例对应的端口号。哪怕你固定了实例端口,只要用实例名连接,这个UDP端口的规则就不能少。 - 核对TCP端口规则的细节
- 确认入站规则的协议是TCP,端口号和SQL Server配置管理器里实例绑定的端口完全一致,别把TCP写成UDP或者端口号填错
- 检查规则的作用域,是否限制了仅允许特定IP访问,导致你的客户端IP不在允许列表里
- 验证SQL Server实例的TCP绑定配置
在SQL Server配置管理器的「SQL Server网络配置」→「<实例名>的TCP/IP」→「IP地址」选项卡中:- 确认每个需要对外访问的IP(比如VM的内网/公网IP)对应的「TCP端口」是你设置的固定端口,「已启用」设为「是」
- 避免只把端口绑定到127.0.0.1,否则只有本地能访问
- 排查防火墙规则的优先级和生效范围
- 确认你添加的规则是在VM当前生效的防火墙配置文件下(比如VM实际用的是私有网络,你却在公共网络配置里加了规则)
- 检查是否存在优先级更高的拒绝规则,直接覆盖了你的允许规则
- 用工具验证端口连通性
在客户端用PowerShell命令Test-NetConnection <VM_IP> -Port <实例端口>,或者telnet <VM_IP> <实例端口>测试端口是否能通,确认是防火墙拦截还是SQL Server本身的配置问题
内容的提问来源于stack exchange,提问作者technologyresearcher
相关产品推荐
相关产品推荐

