SQLServer连接超时错误10060,远程连接被拒绝导致无法访问服务器怎么办
- 问答
- 2026-01-23 14:08:50
- 4
错误10060通常意味着你的电脑(客户端)尝试去连接另一台运行SQL Server的电脑(服务器),但是服务器那边没有回应,或者明确拒绝了你的连接请求,这就像你敲门,但里面的人要么没听见,要么听到了但就是不开门,这个问题几乎总是服务器端的配置或网络问题,而不是你本地电脑的问题,下面我们一步步来排查。
第一步:确认最基本的情况
在开始复杂的设置之前,先确认几件简单的事情。
- 服务器开机了吗? 确保那台作为服务器的电脑是正常启动的,没有关机或休眠。
- SQL Server服务运行了吗? 即使服务器电脑开着,SQL Server的后台服务也可能没有启动,你需要到服务器电脑上,打开“服务”管理器(可以在开始菜单搜索“services.msc”),找到名为“SQL Server (MSSQLSERVER)”或类似名称的服务(实例名可能不同),确保它的状态是“已启动”。
- IP地址和端口写对了吗? 检查你的连接字符串或管理工具(如SSMS)中填写的服务器地址和端口号是否正确,默认的SQL Server端口是1433,但有时会被更改。
第二步:检查SQL Server的网络配置
这是最常见的原因,默认情况下,SQL Server为了安全,只允许本机连接,你需要手动开启远程连接。
- 启用远程连接:
- 在服务器上,打开“SQL Server Management Studio (SSMS)”,用Windows身份验证连接上本地的SQL Server实例。
- 右键点击服务器实例(最顶层的那个节点),选择“属性”。
- 在属性窗口中,点击左侧的“连接”页签。
- 在右侧找到“允许远程连接到此服务器”,确保这个复选框是勾选上的,然后点击“确定”,根据微软官方文档的说明,此设置是允许远程连接的前提。
- 启用TCP/IP协议:
- 在服务器上,找到“SQL Server配置管理器”。(注意:这不是“服务”管理器,是专门的配置工具)。
- 依次展开“SQL Server网络配置” -> “【你的实例名】的协议”(“MSSQLSERVER的协议”)。
- 在右边的协议列表中,找到“TCP/IP”,检查其状态是否为“已启用”,如果不是,右键点击它选择“启用”。
- 非常重要: 完成此更改后,必须回到左侧的“SQL Server服务”,右键点击“SQL Server (你的实例名)”,选择“重新启动”,只有重启服务,新的配置才能生效。
第三步:检查Windows防火墙设置
即使SQL Server配置好了,Windows防火墙也可能会把外部的连接请求拦下来。
- 添加入站规则: 在服务器电脑上,打开“Windows Defender 防火墙”(在控制面板或系统设置中)。
-
- 点击“高级设置”。
- 在左侧选择“入站规则”,然后在右侧点击“新建规则...”。
- 规则类型选择“端口”,然后点击“下一步”。
- 选择“TCP”,并输入“特定本地端口”为1433(如果你使用的是默认端口),如果你修改过端口,这里就填你修改后的端口号。
- 点击“下一步”,选择“允许连接”。
- 再点击“下一步”,为规则应用域、专用、公用网络配置文件,通常可以全选。
- 最后一步,给这个规则起个名字,SQL Server Port 1433”,然后点击“完成”。
- 根据微软支持社区和众多技术博客的普遍建议,除了开放端口,你也可以直接为“sqlservr.exe”这个程序文件创建允许规则,效果类似。
第四步:检查SQL Server的身份验证模式
如果你的连接方式是使用SQL Server账号密码(而不是Windows账号),还需要确保服务器允许这种登录方式。
- 在服务器的SSMS中,右键服务器实例,选择“属性”。
- 点击“安全性”页签。
- 检查“服务器身份验证”是否设置为“SQL Server和Windows身份验证模式”,如果只是“Windows身份验证模式”,那么SQL账号是无法登录的。
- 确保你要使用的那个SQL登录账号确实存在,并且有连接权限。
第五步:更复杂的网络问题
如果以上都检查无误,问题可能出在更底层的网络环境。
- 路由器或网络设备: 如果客户端和服务器不在同一个局域网内,中间经过了路由器、防火墙等网络设备,你需要确保这些设备上也做了端口转发(Port Forwarding)或安全策略,将对你服务器IP地址1433端口的访问请求正确地转发到内网的服务器上。
- 服务器IP地址变化: 确保你连接的服务器IP地址是固定的,如果服务器是通过DHCP动态获取IP,地址可能会变,导致你连不上,最好为服务器设置一个静态IP地址。
一个简单的测试方法:在服务器本机测试
你可以在服务器电脑上,打开“命令提示符”(cmd),输入命令 telnet 127.0.0.1 1433,如果屏幕变成一片漆黑,只有一个光标在闪,说明服务器本机的TCP/IP连接是通的,如果提示“无法打开连接”,则说明SQL Server的TCP/IP协议可能没启用好,或者端口没监听,这个测试能帮你快速判断问题是出在服务器本身还是外部网络。
解决10060错误的思路就是从内到外、从简单到复杂:先确保服务在运行,再开启SQL Server的远程连接和协议,然后处理防火墙,最后排查网络路由问题,大部分情况下,问题都出在前三步。

本文由邝冷亦于2026-01-23发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/84498.html
