我的工作站上安装了SQL Server 2005 Management Studio。我已经安装了SQL Server 2008工作站工具并删除了SQL Server 2005工具。我现在正在编写一个c#程序,它在管理工作室中迭代我的注册服务器。问题是,它正在迭代2005年工具中的旧列表(现在已经卸载)而不是我的2008年注册服务器列表。
我认为它可能是程序集引用问题,所以我检查我的SMO程序集引用是否指向新工具。我正在使用:
我已检查过程序集是10.0版本。
完成这项工作的我的c#代码段是:
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo.RegisteredServers;
和
public static void DiscoverServers()
{
RegisteredServer[] rsvrs = SqlServerRegistrations.EnumRegisteredServers();
foreach (RegisteredServer rs in rsvrs)
{
Console.WriteLine(rs.Parent.Name + ", " + rs.ServerInstance);
}
}
有关如何解决此问题的任何想法?我只是使用错误的SMO代码吗?
干杯, 标记
答案 0 :(得分:0)
你的代码完全没问题。 我的猜测是,问题在于您的SQL服务器没有公开自己进行浏览。 确保“SQL Server Browser”Windows服务正在运行,并且在SQL Server配置上启用了服务器浏览。