Я пытаюсь перечислить все экземпляры SQL Server, установленные на локальном компьютере. Я использую SmoApplication.EnumAvailableSqlServers (true). Однако показаны только экземпляры SQL Server Express 2005. Экземпляр по умолчанию 2008 не отображается вообще!Smo не показывает 2008 экземпляры SQL Server, когда существуют экземпляры 2005 года
Я пробовал 2 других решения с SqlServerRegistrations.EnumRegisteredServers() и SqlDataSourceEnumerator.Instance.GetDataSources(), но они также не работают.
Существует еще один вопрос относительно этого (Can't enumerate SQL Server 2008 Registered Servers with SMO), но он, к сожалению, не имеет ответа.
У меня очень похожая проблема - у меня вопрос по адресу: http://stackoverflow.com/questions/3592401/smoapplication-enumavailablesqlservers-fails-to-return-all-servers В моем случае , это экземпляр по умолчанию SQL 2005 не возвращен, и экземпляр SQLQ8 с именем. Необычно, я заметил, что остановка службы SQL Browser делает обнаружение экземпляра SQL05 по умолчанию, но тогда экземпляр SQL08 не возвращается. Мне очень понравилось, что кто-то прольет свет на это! – ChrisA
Крис, я сделал обходное решение в своем приложении - помимо этого, я пытаюсь открыть соединение с экземпляром по умолчанию вручную и посмотреть, было ли оно успешно открыто. Кажется, что обычные способы Microsoft не работают. – Alex