You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用SQL Server Management Studio 17连接本地服务器时遇连接错误求助

解决SQL Server Management Studio 17连接(local)失败的问题

我之前在使用SSMS 17的时候也碰到过完全一样的连接错误,折腾了好一会儿才解决,结合自己的排查过程和社区里的有效方案,给你整理几个必试的解决步骤:

先把你遇到的错误信息贴出来方便对照:

标题:连接到服务器
无法连接到(local)。
附加信息:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。未找到服务器或服务器无法访问。请验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序: Named Pipes Provider, 错误: 40 - 无法打开与SQL Server的连接) (Microsoft SQL Server, 错误: 2)
系统找不到指定的文件。

1. 先确认SQL Server服务有没有在运行

这是最常见的原因,很多时候是服务没启动导致的:

  • 按下Win + R,输入services.msc打开服务管理器
  • 在列表里找SQL Server (MSSQLSERVER)(如果你装的是命名实例,名称会是SQL Server (你的实例名),比如常见的SQL Server (SQLEXPRESS)
  • 如果服务状态是“已停止”,右键点“启动”;如果已经在运行,不妨重启一下服务试试

2. 检查连接时的实例名称是否正确

别小看这个,很多人就是实例名写错了:

  • 如果是默认实例,连接时用(local)localhost或者你的电脑名都可以
  • 如果是命名实例,必须写成(local)\实例名或者localhost\实例名,比如(local)\SQLEXPRESS
  • 不确定实例名的话,打开SQL Server配置管理器,展开“SQL Server服务”,服务名称里括号里的内容就是实例名

3. 启用SQL Server的必要网络协议

有时候协议被禁用了也会导致连接失败:

  • 打开SQL Server配置管理器(可以在开始菜单里搜这个名称)
  • 展开“SQL Server网络配置”,选择你对应的实例的协议(比如“MSSQLSERVER的协议”)
  • 确保TCP/IPNamed Pipes这两个协议是“启用”状态
  • 改完之后一定要重启SQL Server服务,不然设置不会生效

4. 试试用IP地址代替(local)连接

有时候(local)的解析会出问题,换成本地回环IP试试:

  • 默认实例直接填127.0.0.1
  • 命名实例填127.0.0.1\实例名

5. 检查防火墙是否拦截了连接

虽然是本地连接,但偶尔防火墙也会搞事情:

  • 可以先临时关闭Windows防火墙试试能不能连上,如果能,说明是防火墙的问题
  • 然后给SQL Server添加入站规则:打开Windows Defender防火墙的“高级设置”,新建入站规则,允许SQL Server的端口(默认是1433,命名实例可能是动态端口,需要在配置管理器的TCP/IP属性里看具体端口号)

6. 确认SQL Server允许远程连接(本地连接也可能受影响)

  • 如果你能通过其他方式连上SSMS,右键服务器实例选“属性”,切换到“连接”选项卡,确保勾选了“允许远程连接到此服务器”
  • 如果连不上SSMS,也可以在SQL Server配置管理器里,右键对应的服务选“属性”,查看“启动参数”里有没有限制连接的参数

内容的提问来源于stack exchange,提问作者Rajan Kashyap

火山引擎 最新活动