访问 SQL Server 2008 时出现问题

访问 SQL Server 2008 时出现问题

我正在运行 64 位 SQL Server 2008,当我尝试从另一台计算机上的 32 位 SQL Server Management Studio 访问该实例时,出现了以下错误:

“与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:SQL 网络接口,错误:26 - 定位指定的服务器/实例时出错)(Microsoft SQL Server,错误:-1)”

我已确保以下几点:

a. 没有防火墙问题(因为它在我们的局域网内,并且所需的端口是开放的)

b. SQL Browser 服务已在两台计算机上运行

c. 服务器计算机上已启用 TCP/IP 和命名管道协议。

d. 没有网络问题,因为我可以 ping 服务器

我还遗漏了什么吗?提前感谢您的指导。

答案1

  1. 检查 SQL Server 错误日志以确保它正在监听 TCP 端口。如果出现错误,则需要重新启动 SQL Server。
  2. 在运行 SQL Server 的服务器上,从命令行执行 netstat -ano 并查找 TCP 端口。确保它处于监听状态。将该端口的给定 PID 与 SQL Server 的 PID 进行比较。它们应该匹配。如果不匹配,则需要重新启动 SQL Server。
  3. 检查运行 SQL Server 的服务器上的防火墙(不是硬件防火墙,而是 Windows 防火墙)。确保端口未被阻止。如果被阻止,请重新配置防火墙。
  4. 尝试通过 telnet 连接到服务器和端口服务器 港口。例如,如果 9999 是其监听的端口,则为 MySQLServer 9999。如果这不起作用,请让网络人员进行跟踪。查看是否正在建立 TCP 会话等。
  5. 如果一切正常,请尝试使用以下方法通过 SSMS 进行连接服务器港口。例如,MySQLServer,9999。
  6. 如果可行,请尝试停止并重新启动 SQL Server 上的 SQL Server Browser 服务。然后尝试使用 ServerName\InstanceName 进行连接。我曾见过 SQL Server 已启动并监听端口的情况,但出于某种原因,SQL Server Browser 无法正常响应。

答案2

这里还有一些建议:

  • 确保客户端的 SQL Native Client 配置上也启用了 TCP/IP。
  • 确保服务器上已启用远程连接
  • 您是否尝试连接到服务器上的默认实例或命名实例?

要在工作站上配置 SQL Native Client:

  1. 打开 SQL Server 配置管理器
  2. 展开 SQL Native Client 配置
  3. 单击客户端协议
  4. 启用协议并根据需要设置其使用顺序

要在您的服务器上启用远程连接(通过 SSMS):

  1. 右键单击您的服务器实例并获取属性
  2. 点击菜单中的连接
  3. 确保选中允许远程连接到此服务器
  4. 重启实例

答案3

根据 Brian 的解决方案,我已验证并发现端口号 1433 被 Windows 防火墙阻止。我已将其添加到例外中,现在连接正常。问题已解决。感谢您的解决方案。

相关内容