SmoApplication.EnumAvailableSqlServers () не отображает экземпляр по умолчанию, если sqlexpress находится на той же машине, где установлен SQLSERVER2008 - PullRequest
0 голосов
/ 15 июля 2009

Я использую SMO, чтобы найти доступные sqlservers сети. Но на одной машине, где я бегу

приложению оно не дает имя экземпляра по умолчанию, но для всех остальных машин оно дает

будет показан именованный экземпляр по умолчанию.

Соблюдай мой сценарий.

Пример: Имя компьютера: 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

Как я могу это исправить. Любая помощь будет высоко оценена.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 16 июля 2009

Протокол обнаружения экземпляра (UDP на 1434) обслуживается службой SQL Browser , которая по умолчанию отключена (в памяти вещи с именем Slammer ...) .

Убедитесь, что служба включена и запущена на всех машинах.

0 голосов
/ 15 июля 2009

Возможно, вам удастся использовать альтернативный метод для получения списка серверов. Возможно, этот метод рекомендован Microsoft, которая использует System.Data.Sql.SqlDataSourceEnumerator.Instance

Перечисление экземпляров SQL Server
http://msdn.microsoft.com/en-us/library/a6t1z9x2.aspx

Или этот метод:

Перечисление экземпляров SQL Server в C # с использованием ODBC
http://www.codeproject.com/KB/database/SubmitSQLInfoEnumerator.aspx

...