SQL Server Browser仅显示主机名,而不显示实例名称

时间:2009-03-20 19:16:48

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

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

更新1:

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

    按照建议跟踪数据包,发现以下内容

    1. 客户端按预期发送广播,并从同一网络上的其他SQL Server收到正确的响应。
    2. 服务器收到了广播,但未发送回复。
    3. 考虑到这些结果,我想知道为什么主机名首先出现在客户端列表中。它根本不应该出现,对吧?

      更新3:

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

      更新4:

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

      更新5:

      确认在guest虚拟机(SQL)服务器上安装了Hyper-V集成服务。

5 个答案:

答案 0 :(得分:4)

检查浏览器服务是否正在运行,默认情况下它没有打开。

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

UPDATE2:服务器是否有多个IP?根据{{​​3}},Windows Server 2008防火墙在响应SQL浏览器服务广播时遇到问题,即使规则允许数据包通过也是如此。

答案 1 :(得分:1)

我倾向于不依赖浏览。您将得到不一致的结果,因为浏览发送广播udp / 1434数据包并等待回复。但是,由于您可以通过SERVERNAME \ INSTANCENAME远程连接,因此SQL浏览器服务的这一方面正在运行。如果不是,你将无法连接。话虽如此,要解决浏览部分问题:

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

要彻底解决这个问题,遗憾的是,您必须执行数据包跟踪。

答案 2 :(得分:0)

听起来浏览服务搞砸了......

我不知道您是否可以暂时暂停此SQL Server。但如果是这样,你可能想尝试这个:

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

答案 3 :(得分:0)

我在VM中遇到了同样的问题。关闭防火墙后,它可以工作。

答案 4 :(得分:0)

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

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