SQL Server Express无法连接错误:28-服务器不支持请求的协议。

61

我无法从我的服务器(Windows 2008 R2)连接到本地的 SQL Server Express(2012,但版本不应该有关系),以便使用其中的工具(如果您想知道,这是 APEX SQL Data Diff)。我可以浏览网络服务器,并从可用服务器的下拉列表中选择我本地的实例,但当我尝试在服务器上搜索表格时,它会超时并显示以下错误消息(SSMS也是如此)。

在建立与 SQL Server 的连接时出现与网络或特定实例相关的错误。没有找到服务器或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。(提供程序:SQL Network Interfaces,错误:28 - 服务器不支持请求协议) (Microsoft SQL Server,错误:-1)

我已经启用了防火墙 - 这不是问题所在。

我已经允许远程连接 - 这不是问题所在。

SQL Server Browser 服务启动并通过了防火墙 - 这不是问题所在。

我可以使用相同的工具连接到服务器,但服务器连接失败。

有什么想法吗?

3个回答

126
感谢这篇文章为我解决了错误信息问题。问题是SQL Server Express默认情况下禁用了必要的网络协议。我必须在本地打开Sql Server配置管理器并启用“命名管道”和“TCP/IP”。之后,您需要重新启动SQL Server浏览器和SQL Server(实例)服务。

SQL Server Config manager

虽然我没有必须要这样做,但您可能还需要在“协议”下的“SQL Server网络配置”中检查需要调整的设置。


3
+1 - 我一直在努力应对这个问题。你值得一枚奖牌。非常感谢。 - Rouan van Dalen
1
那么为什么不给问题和答案都点个赞呢? - Watki02
8
这也帮助了我,我遇到了同样的问题,但我也必须在 SQL Server 网络配置下进行操作。 - Taegost
1
特别是要检查SQLEXPRESS的协议,它们默认情况下是禁用的。 - Saher Ahwal
客户端协议已经为我启用,但在“SQL Server网络配置-> SQLEXPRESS协议”下启用相同的协议对我有用! - Vinod T. Patil
显示剩余2条评论

15

SQL 配置管理器:

SQL配置管理器

图片中链接面板选择了错误的组:应该是 SQL Server 网络配置 → 协议,然后选择 SQLEXPRESS


2
这应该是一条注释,而不是一个答案。 - Watki02
我需要在这样做后重新启动吗? - K-Dawg
@PrimeByDesign 是的! - Patrick
@PrimeByDesign - 【为了完整起见,迟到总比不到好】不需要重新启动服务器,只需重启受影响的服务即可。 - user1945782

13
不要忘记在“SQL Server Network Configuration”→“协议”下也检查YourInstance。我太傻了,忘了在那里查看。

...并重新启动相关服务。 - user1945782

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接