我刚刚设置了一台带有SQL Server 2008 Express实例的新Windows Server 2008计算机。 SQL浏览器服务似乎无法正常工作。在Management Studio中,浏览服务器会显示新服务器的主机名,但不会显示实例名称。从列表中选择主机名时,它不会连接。但我可以通过键入hostname \ instancename组合手动连接。
更新1:
更新2:
按照建议跟踪数据包,发现以下内容
考虑到这些结果,我想知道为什么主机名首先出现在客户端列表中。它根本不应该出现,对吧?
更新3:
在微软支持的电话上花了一个半小时。我学到了一些东西,但问题还没有解决。有人建议我尝试在同一台机器上安装SQL Standard实例。我这样做了,新实例表现出了所有相同的症状。主机名仅在浏览列表中显示一次,而不是每个实例一次。
更新4:
由于赏金系统,Stackoverflow为我选择了一个答案,但这个问题没有得到解答。今天我尝试将整个VM移动到不同的主机服务器 - 一切都完全相同。主机名仍显示在浏览列表中,没有实例名称。
更新5:
确认在guest虚拟机(SQL)服务器上安装了Hyper-V集成服务。
答案 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浏览器服务的这一方面正在运行。如果不是,你将无法连接。话虽如此,要解决浏览部分问题:
要彻底解决这个问题,遗憾的是,您必须执行数据包跟踪。
答案 2 :(得分:0)
听起来浏览服务搞砸了......
我不知道您是否可以暂时暂停此SQL Server。但如果是这样,你可能想尝试这个:
答案 3 :(得分:0)
我在VM中遇到了同样的问题。关闭防火墙后,它可以工作。
答案 4 :(得分:0)
我刚才有同样的问题。我无法在SSMS网络服务器选项卡中看到实例名称。原来我已经设置了Hyper-V并在我的本地机器上创建了一个内部网络。即使我的域设置已禁用防火墙,该网络也被识别为公共/访客网络并且Windows防火墙已启用。一旦我在计算机上禁用了访客网络,我就可以看到所有实例。
机器: 物理SQL Server 2014 Ent 运行Hyper-V的Windows 8.1笔记本电脑