我刚刚在我的家庭服务器上安装了 SQL Server Express 2012。我尝试从台式电脑上的 Visual Studio 2012 连接到它,并反复收到众所周知的错误:
与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)
我为尝试解决此问题所做的工作:
- 在服务器上运行 SQL Server 配置管理器并启用 SQL Server 浏览器
- 在服务器上为本地子网上的 TCP、端口 1433 和 1434 添加 Windows 防火墙例外。
- 验证我在 SQL Server 实例上是否拥有我在桌面上登录的用户的登录名。
- 验证我是否在 SQL Server 实例上使用 Windows 身份验证。
- 反复重新启动 SQL Server 和整个服务器。
- 把我的头发全部拔出来。
如何让 SQL Server 2012 Express 允许远程连接!?
Well, 很高兴我问了。我最终发现的解决方案在这里:
如何配置 SQL Server Express 以允许端口 1433 上的远程 tcp/ip 连接?
- 运行 SQL Server 配置管理器。
- 转至 SQL Server 网络配置 > SQLEXPRESS 协议。
- 确保 TCP/IP 已启用。
到目前为止,一切都很好,完全符合预期。但是之后:
- 右键单击 TCP/IP 并选择特性.
- 验证 IP2 下的 IP 地址是否设置为本地子网上计算机的 IP 地址。
- 向下滚动到 IPAll。
- 确保TCP 动态端口 is blank。 (我的被设置为某个 5 位端口号。)
- 确保TCP Port被设定为1433。 (我的是空白的。)
(此外,如果您按照以下步骤操作,not启用 SQL Server Browser 所必需的,并且您只需要允许端口 1433,而不是 1434。)
我不记得在以前版本的 SQL Server、Express 或其他版本中是否必须执行这五个额外步骤。它们似乎是必要的,因为我在服务器上使用命名实例 (myservername\SQLEXPRESS),而不是默认实例。看这里:
将服务器配置为侦听特定 TCP 端口(SQL Server 配置管理器)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)