0

我正在使用 SMO 查找网络的可用 sqlserver。但是在我运行的一台机器上

应用程序它没有给出默认实例名称,但对于所有其他机器它给出

将显示命名和默认实例。

观察我的情景。

例如:机器名称:rkwrk3-vm-sr(我在其中运行应用程序的本地机器

安装了sqlserver2008)

在这实际上我有 sql2008 作为默认实例和 sqlexpress(2005) 作为命名实例...

但它只显示了一个实例 rkwrk3-vm-sr\sqlexpress 并且它没有显示 rkwrk3-vm-sr。

和其他一些机器hr-2k3-tm(安装sqlserver2005的地方)

为此,它显示 Hr-2k3-tm 和 Hr-2k3-tm/sqlexpress

我该如何解决这个问题。非常感谢任何帮助。

提前致谢。

4

2 回答 2

1

实例发现协议(1434 上的 UDP)由SQL Browser 服务提供服务,默认情况下该服务是禁用的(在名为Slammer ... 的内存中)。

确保该服务已在所有计算机上启用并启动。

于 2009-07-15T20:43:28.683 回答
0

使用替代方法获取服务器列表可能会更好。也许微软推荐的这种方法使用System.Data.Sql.SqlDataSourceEnumerator.Instance

枚举 SQL Server 实例
http://msdn.microsoft.com/en-us/library/a6t1z9x2.aspx

或者这个方法:

在 C# 中枚举 SQL Server 实例,使用 ODBC
http://www.codeproject.com/KB/database/SubmitSQLInfoEnumerator.aspx

于 2009-07-15T15:40:17.767 回答