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


当前回答

我最近遇到了这个问题。2015年8月

通过打开SQL Server配置管理器解决

SQL Server网络配置-> SQLEXPRESS的协议 “TCP/IP -> IP地址”页签 一切保持默认值,只设置IPALL: TCP端口为1433

可以与SQL Server Manager连接到机器:[hostaddress], 1433

例子:

其他回答

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

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

你可以用这个来解决这个问题:

进入START > EXECUTE,运行cliiconfg . exe。

Named Pipes协议将在列表中排在第一位。降级,推广TCP/IP。

彻底测试应用程序。

我希望这对你有所帮助。

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

我最近遇到了这个问题。2015年8月

通过打开SQL Server配置管理器解决

SQL Server网络配置-> SQLEXPRESS的协议 “TCP/IP -> IP地址”页签 一切保持默认值,只设置IPALL: TCP端口为1433

可以与SQL Server Manager连接到机器:[hostaddress], 1433

例子:

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

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

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

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

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