我刚刚在我的家庭服务器上安装了SQL Server Express 2012。我试图从桌面PC的Visual Studio 2012连接到它,并反复得到众所周知的错误:

在建立与SQL Server的连接时,发生了与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。验证实例名称是否正确,SQL Server是否配置为允许远程连接。(提供商:Named Pipes提供商,错误:40 -无法打开到SQL Server的连接)

为了解决这个问题,我所做的是:

在服务器上运行“SQL Server配置管理器”,启用“SQL Server浏览器” 在服务器上为本地子网的TCP端口1433和1434添加Windows防火墙例外。 验证我在桌面上登录的用户在SQL Server实例上进行了登录。 验证我在SQL Server实例上使用Windows身份验证。 反复重启SQL Server和整个服务器。 把我的头发都拔出来。

如何让SQL Server 2012 Express允许远程连接!?


当前回答

您所需要做的就是打开服务器防火墙上的相关端口。

其他回答

还有一件事…

Kyralessa提供了很好的信息,但我还有一件事要补充,即使在这篇文章之后,我也被难住了。

在“SQL Server Network Configuration > Protocols for Server > TCP/IP Enabled”下。右键单击TCP/IP,选择属性。在IP地址下,您需要为正在使用的每种连接类型将启用设置为Yes。

在我的例子中,数据库运行在非标准端口上。检查您正在连接的端口是否与运行数据库的端口相同。如果存在多个SQL server实例,请检查正确的实例。

我必须添加一个防火墙入站端口规则来打开UDP端口1434。这是一个Sql Server浏览器监听。

我必须通过配置管理器添加端口,并在我的sql连接[host]\[db实例名]中添加端口号,1433

注意instancename和port之间的,(逗号)

您所需要做的就是打开服务器防火墙上的相关端口。