У меня на рабочей станции была установлена SQL Server 2005 Management Studio. С тех пор я установил инструменты рабочей станции SQL Server 2008 и удалил инструменты SQL Server 2005. Сейчас я пишу программу на C #, которая выполняет итерации моих зарегистрированных серверов в студии управления. Проблема в том, что он перебирает мой старый список в инструментах 2005 года (которые сейчас удалены), а не в моем списке зарегистрированных серверов 2008 года.
Я подумал, что это может быть проблема со ссылками на сборки, поэтому я проверяю, что мои ссылки на сборки SMO указывают на новые инструменты. Я использую:
- Microsoft.SqlServer.ConnectionInfo
- Microsoft.SqlServer.Management.Sdk.Sfc
- Microsoft.SqlServer.Smo
- Microsoft.SqlServer.SqlEnum
Я проверил, что сборки имеют версии 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?
Cheers,
Mark.