无法远程连接SQL Server 2016第二个实例及默认实例命名连接失败
SQL Server 2016实例远程连接问题排查方案
咱们一步步拆解你遇到的两个连接问题,先搞定默认实例的命名方式连接,再解决命名实例的远程连接故障:
一、默认实例SQLCompart无法通过<IP>\<INSTANCE>连接的问题
你说用纯IP能连上,但加实例名就不行,核心原因大概率和SQL Server Browser服务以及UDP端口1434的防火墙配置有关:
- 检查SQL Server Browser服务状态:按下Win+R输入
services.msc打开服务管理器,找到「SQL Server Browser」,确保它处于正在运行状态,启动类型设为「自动」。哪怕是默认实例,当你用<IP>\<实例名>这种方式连接时,客户端依然需要通过Browser服务来确认实例的合法性和端口映射。 - 放行UDP 1434端口:远程客户端需要通过UDP 1434端口获取SQL Server实例的端口信息,所以必须在服务器的防火墙里添加一条「允许UDP 1434入站」的规则。
- 确认实例名称配置:打开SQL Server配置管理器,在「SQL Server服务」里检查默认实例的名称确实是SQLCompart,避免实例名拼写错误导致的连接失败。
二、命名实例AISLANTES所有连接方式均失败的问题
这个情况要从实例本身到网络层逐步排查:
- 确认实例运行状态:在服务器本地打开SQL Server配置管理器,检查「SQL Server (AISLANTES)」服务是否正常运行,启动类型建议设为「自动」。如果服务没启动,所有连接方式都会失败。
- 启用TCP/IP协议:在「SQL Server网络配置」->「AISLANTES的协议」中,确保TCP/IP协议处于启用状态。默认情况下,有些命名实例可能会禁用TCP/IP,导致远程连接无法建立。
- 核对端口配置:双击TCP/IP协议,切换到「IP地址」标签页,找到服务器对应的IPv4地址(或「IPAll」项),确认「TCP端口」设置为1435,并且「TCP动态端口」是空的(避免系统自动分配其他端口覆盖你的配置)。
- 防火墙端口放行:必须在服务器防火墙中添加两条入站规则:
- 允许TCP 1435端口(你的命名实例固定端口)
- 允许UDP 1434端口(SQL Server Browser服务用于广播实例信息)
- 本地连接测试:先在服务器本地用命令行测试连接,比如:
或者用端口方式:sqlcmd -S .\AISLANTES
如果本地都连不上,说明问题出在实例本身(比如服务未启动、协议未启用、认证模式问题);如果本地能连,那问题肯定在远程网络或防火墙配置。sqlcmd -S localhost,1435 - 开启远程连接权限:打开SSMS连接到AISLANTES实例,右键实例 -> 属性 -> 连接,确保「允许远程连接到此服务器」选项已勾选。
- 检查认证模式:如果你用SQL Server账号连接,要确认实例设置为「混合模式(Windows身份验证和SQL Server身份验证)」,并且该账号拥有远程连接的权限(在「服务器角色」中确保是public或更高权限)。
按照这个顺序排查,基本能定位到问题所在。优先从本地连接测试入手,排除实例本身的故障,再逐步往网络层面排查防火墙和服务配置。
内容的提问来源于stack exchange,提问作者Diego Chilomer
相关产品推荐
相关产品推荐

