2009-04-03 8 views

ответ

0

Я очень сомневаюсь, что вы можете запустить запрос, чтобы узнать экземпляры (нужно подключиться к одному для запуска запросов), но Конфигурация поверхности сервера SQL Server (в меню «Пуск» -> Microsoft SQL Server 2005 - > Инструменты настройки) покажут вам все экземпляры, которые у вас есть на данной машине.

Альтернатива может быть выполнена из кода - см. this article.

3

Я понял, чит. Для этого требуется использовать команду xp_cmdshell и команду net start. Я ничего не знаю об использовании команды net start и о том, какие негативные последствия могут иметь. Может ли кто-нибудь это посоветовать?

create table #test (srvcs varchar(2000)) 
; 

insert into #test 
exec master..xp_cmdshell 'net start' 
; 

select 
    substring(srvcs, charindex('(', srvcs) + 1, (charindex(')', srvcs) - charindex('(', srvcs) - 1)) 
    as srvcs 
from #test 
where ltrim(srvcs) like '%SQL Server (%' 
; 

drop table #test 
; 
+0

+1 Это довольно интересный взлом - я не знаю о запуске netd, но, как известно, xp_cmdshell представляет проблемы безопасности в определенных сценариях. Если вы используете его в закрытой среде, хотя я бы не потел. – JohnIdol

 Смежные вопросы

  • Нет связанных вопросов^_^