【问题标题】:SQL Server Browser showing only hostname, not instance nameSQL Server Browser 只显示主机名,不显示实例名
【发布时间】:2010-10-14 15:09:19
【问题描述】:

我刚刚安装了一台带有 SQL Server 2008 Express 实例的新 Windows Server 2008 机器。 SQL Browser 服务似乎无法正常工作。在 Management Studio 中,浏览服务器会显示新服务器的主机名,但不会显示实例名称。当您从列表中选择主机名时,它不会连接。但是我可以通过键入主机名\实例名组合来手动连接。

更新1:

  1. 浏览器服务正在运行,我已经尝试了几个不同的帐户,包括域管理员,这是一种不好的做法,但我还是尝试了故障排除。
  2. 我已尝试在防火墙上打孔,并完全关闭防火墙。
  3. 这是在 Hyper-V、Windows Server 2008 32 位客户机上运行的,它位于 Windows Server 2008 64 位主机上。我之前在同一台主机上做过这个(没有问题),但使用的是 SQL 2008 Standard 而不是 Express。
  4. 当我在 SQL Server 机器上浏览 SSMS(Express) 中的服务器时,它工作正常并显示整个实例名称。当我使用 SSMS(标准)在远程计算机(同一 Intranet 上)上浏览它时,它只显示主机名。

更新 2:

按照建议跟踪数据包并找到以下内容

  1. 客户端按预期发送广播,并从同一网络上的其他 SQL Server 接收到正确响应。
  2. 服务器收到广播但未发送响应。

考虑到这些结果,我想知道为什么主机名首先会出现在客户端列表中。它根本不应该出现,对吧?

更新 3:

花了一个半小时在电话上寻求 Microsoft 支持。我学到了一些东西,但问题还没有解决。有人建议我尝试在同一台机器上安装 SQL Standard 实例。我这样做了,新实例表现出所有相同的症状。主机名仅在浏览列表中显示一次,而不是每个实例一次。

更新 4:

感谢赏金系统,Stackoverflow 为我选择了一个答案,但这个问题没有得到回答。今天我尝试将整个 VM 移动到不同的主机服务器 - 一切都完全相同。主机名仍然出现在浏览列表中,但没有实例名称。

更新 5:

确认 Hyper-V 集成服务已安装在来宾 (SQL) 服务器上。

【问题讨论】:

  • :( 是否可能与 hyper-v 和 NIC 驱动程序或其他类似的低级别有关?它是在同一主机上的两个 VM 来宾之间吗?
  • 有可能。但是这两个 hyper-v 主机都有其他使用 sql server 的客人没有出现这些症状。

标签: sql-server sql-server-2008 sql-server-2008-express sqlbrowser


【解决方案1】:

我也遇到了同样的问题。我无法在 SSMS 网络服务器选项卡中看到实例名称。事实证明,我已经设置了 Hyper-V 并在我的本地计算机上创建了一个内部网络。该网络被标识为公共/访客网络,并且已启用 Windows 防火墙,即使我的域设置已禁用防火墙。在我的计算机上禁用该访客网络后,我可以看到所有实例。

机器: 物理 SQL Server 2014 Ent 运行 Hyper-V 的 Windows 8.1 笔记本电脑

【讨论】:

    【解决方案2】:

    我在虚拟机中遇到了同样的问题。关闭防火墙后它起作用了。

    【讨论】:

      【解决方案3】:

      听起来浏览服务有点搞砸了……

      不知道你能不能暂时把这个SQL Server暂时关闭。但如果是这样,你可能想试试这个:

      1. 完全卸载所有 SQL\实例。
      2. 运行 SQL Express 2008 的安装
      3. 在安装过程中创建一个默认实例(不是命名实例)
      4. 再次运行安装程序并创建默认命名实例 (SQLExpress)
      5. 再次尝试连接到命名实例。如果可行,您可以删除默认实例。

      【讨论】:

        【解决方案4】:

        检查浏览器服务是否正在运行,默认没有开启。

        UPDATE1:看看您是否可以安装Network Monitor/Wireshark 来在SQL Server 上进行网络跟踪,看看它是否正在接收广播并发送响应。我认为这是解决此问题的最佳选择。根据MSDN,该服务使用 UDP 端口 1434,所以这是要监视的流量。

        UPDATE2:服务器是否有多个 IP?根据this MSDN article,Windows Server 2008 防火墙在响应 SQL Browser 服务广播时存在问题,即使规则允许数据包通过。

        【讨论】:

        • 客户端和服务器在同一个广播域吗?即子网?
        • 是的,我们在同一个子网上。
        • 只有一个 IPv4 地址 - 但这是一个有趣的链接。我已经尝试完全关闭防火墙。
        • 抱歉,不清楚。我尝试关闭防火墙,但没有帮助。
        【解决方案5】:

        我倾向于不依赖浏览。您会得到不一致的结果,因为浏览会发出广播 udp/1434 数据包并等待回复。但是,由于您能够通过 SERVERNAME\INSTANCENAME 进行远程连接,因此 SQL Browser 服务的这一方面正在发挥作用。如果不是,您将无法连接。话虽如此,要对浏览部分进行故障排除:

        • 您是否尝试过停止并重新启动 SQL Browser 服务?
        • 如果不起作用,您是否尝试过停止并重新启动实例?

        不幸的是,要彻底解决这个问题,您必须进行数据包跟踪。

        【讨论】:

        • 是的,这两件事我都做过。还重新启动了客户端和服务器数十次 - 在我尝试过几乎所有更改之后。新机器上还没有什么重要的东西,所以重启不是问题。
        • 这很好,浏览器服务实际上在某种程度上可以工作,否则我将无法连接 - 它是为动态端口设置的。
        猜你喜欢
        • 2011-04-21
        • 2019-11-26
        • 2016-02-16
        • 1970-01-01
        • 2013-02-24
        • 1970-01-01
        • 2019-03-16
        • 2020-02-06
        • 1970-01-01
        相关资源
        最近更新 更多