Не удается перечислить зарегистрированные серверы SQL Server 2008 с SMO - PullRequest
1 голос
/ 16 сентября 2009

У меня на рабочей станции была установлена ​​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.

1 Ответ

0 голосов
/ 16 сентября 2009

Ваш код полностью в порядке. Я предполагаю, что проблема в том, что ваш SQL-сервер не предоставляет себя для просмотра. Убедитесь, что служба Windows «Браузер SQL Server» запущена, и в конфигурации сервера SQL включен просмотр сервера.

...