我刚刚在我的家庭服务器上安装了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允许远程连接!?


当前回答

这篇文章帮助我……

如何在SQL Server中启用远程连接

SQL Server中的一切都配置好了,我的问题是防火墙阻塞端口1433

其他回答

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

你也可以设置

只听“不”

在协议对话框中输入IP地址IP1(比如)

set enabled为Yes, 定义你的IP地址 “TCP动态”设置为“空白” TCP端口到1433(或其他端口)

我有一个不同的问题,所有的答案到目前为止提到!

我应该首先说,我有它在Visual Studio,而不是SQL Server Express,但解决方案应该完全相同。

天啊,这其实很简单,也许还有点傻。 当我试图创建一个数据库,Visual Studio建议SQL Server的名称,它给了我我的Windows用户名,因为它实际上是服务器的名称,我去了。

实际上是我的Windows用户名+ \SQLEXPRESS。如果你没有改变任何设置,这可能也是你的。如果有效,停止阅读;这就是我的答案。如果不起作用,可能名字不同。

如果像我一样,你在Visual Studio中只遇到了这个问题,请执行以下步骤:

打开SQL Server Management studio。 如果你没有看到你的服务器(默认停靠在左边)按F8或转到视图->对象资源管理器。 右键单击服务器名称并选择Properties(最后一项) 在左下角,你可以看到你的服务器的实际名称在“服务器”下面(不是连接,而是上面)。

这是服务器的名称,这是您应该尝试连接的对象!不是Visual Studio建议的!

还要检查的一件事是,已命名实例的拼写是否正确!

本文在排除连接问题时非常有用:如何排除连接到SQL Server数据库引擎的故障

还有一件事…

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

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