我正在尝试在 SQL Express 2012 数据库上启用 TCP/IP 连接,但似乎我遗漏了某个步骤。要启用它,我:
- 打开 SQL Server 配置管理器
- 已选择“[实例名称] 的协议”
- 双击 TCP/IP
- 设置
Enabled
Yes
- 为了测试目的,设置
Listen All
为Yes
此外,为了确保万无一失,请确保在 SQL Server Management Studio 中连接到服务器(使用 [默认] 协议,而不是明确的 TCP/IP)Allow remote connections to this server
。
然后为了测试它,我尝试在 SQL Server Management Studio 中创建一个新连接。相同的用户,相同的一切。唯一的区别是在高级设置中我将协议设置为TCP/IP
。但是,它没有连接。只是导致标准的“未找到或无法访问服务器”错误。
我的目标是能够通过 SQL Management Studio 和 Visual Studio 从使用 Hamachi 提供与服务器的私人连接的工作站进行连接。当然,工作站会得到同样的错误,因为它似乎还不能在服务器上本地工作。
我还应该检查其他可能阻塞连接的东西吗?我对 Windows 服务器配置和维护一点也不熟悉,所以很可能有一些基本或明显的步骤我完全忽略了。
答案1
SQL Browser 服务有点像 SQL Server 的 DNS。具体来说,它将实例名称解析为端口号。如果您的实例未打开,并且服务未在默认端口 (1433) 上运行,则 SQL 将不知道如何连接到您的实例。因此,请检查 UDP 1434(浏览器通信的端口)是否打开,以及到 SQL Server 配置的任何端口的 TCP 流量是否也打开。
答案2
确保浏览器服务已启动,并确保防火墙允许端口 1433 和 1434 上的 TCP 和 UDP 入站访问。请参阅此文章了解更多详细信息。