我刚刚在我的家庭服务器上安装了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的正确方法(不打开UDP端口1434并启用SQL Server浏览器)是使用ip和端口而不是命名实例。

使用ip和port代替命名实例也更安全,因为它减少了攻击表面积。

也许2张图就能表达2000个单词…

该方法使用指定的端口(这是大多数人想要的,我相信)..

此方法需要打开UDP端口1434和SQL Server浏览器运行..

其他回答

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

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

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

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

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

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

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

连接到远程SQL Server的正确方法(不打开UDP端口1434并启用SQL Server浏览器)是使用ip和端口而不是命名实例。

使用ip和port代替命名实例也更安全,因为它减少了攻击表面积。

也许2张图就能表达2000个单词…

该方法使用指定的端口(这是大多数人想要的,我相信)..

此方法需要打开UDP端口1434和SQL Server浏览器运行..

这篇文章帮助我……

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

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

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

连接SQL Server有问题?

尝试断开防火墙。

如果你可以在防火墙断开的情况下连接,可能是你错过了一些输入规则,比如“sql service broker”,将这些输入规则添加到你的防火墙中:

“sql admin connection”TCP端口1434

“sql admin connection”udp端口1434

“sql analysis service”TCP端口2383

" sql browse analysis service " TCP端口2382

“sql调试器/ rpc”TCP端口135

“SQL SERVER”TCP端口1433和其他如果你有动态端口

“sql service broker”TCP端口4022