Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Получить список имен установленных экземпляров MSSQL  [new]
Magaxon
Member

Откуда:
Сообщений: 8
Пишу небольшую программку которая будет подключаться к серверу БД и выполнять скрипт. Но стал вопрос - имя инстанса СУБД заранее не известно. Как из реестра вытащить все установленные имена экземпляров чтобы дать пользователю выбор к какому подключаться? Например показать такой список:
(LOCAL)
(LOCAL)\SQLEXPRESS
(LOCAL)\TEST

P.S.
В ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL есть список служб, но как оттуда вытащить не именованный экземпляр. Или он имеет название MSSQLSERVER?
10 ноя 16, 05:04    [19877723]     Ответить | Цитировать Сообщить модератору
 Re: Получить список имен установленных экземпляров MSSQL  [new]
o-o
Guest
Вынуть из реестра, это одно,
а получить список тех, к которым можно подключиться, это совсем другое.
Вы именно по shares memory собираетесь подключаться и только к серверам локального компа? К незапущенным экземплярам тоже?
10 ноя 16, 08:01    [19877819]     Ответить | Цитировать Сообщить модератору
 Re: Получить список имен установленных экземпляров MSSQL  [new]
o-o
Guest
sqlcmd -L
Но то это или нет, зависит от ответов на вопросы выше
10 ноя 16, 08:05    [19877823]     Ответить | Цитировать Сообщить модератору
 Re: Получить список имен установленных экземпляров MSSQL  [new]
Magaxon
Member

Откуда:
Сообщений: 8
o-o
sqlcmd -L
Но то это или нет, зависит от ответов на вопросы выше

Вынуть из реестра все имена установленных экземпляром на локальном компьютере.
10 ноя 16, 08:17    [19877831]     Ответить | Цитировать Сообщить модератору
 Re: Получить список имен установленных экземпляров MSSQL  [new]
o-o
Guest
Тогда вот
How can I get a list of installed SQL Server instances?
10 ноя 16, 08:52    [19877872]     Ответить | Цитировать Сообщить модератору
 Re: Получить список имен установленных экземпляров MSSQL  [new]
Magaxon
Member

Откуда:
Сообщений: 8
o-o
Тогда вот

Большое спасибо, пришлось делать приблизительно как там описано, но смотреть не только ветку HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\Instance Names\SQL, а по очередности собирать с ветки HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL но сначала без флага доступа Registry64, а потом с Registry64, т.к. приложение x86 и по умолчанию смотрит на Wow6432Node, а если MSSQL x64 то его не видно.

Так же по эмпирическим наблюдениям инстанс MSSQLSERVER скорее всего является экземпляром по умолчанию, т.е. не именнованным.
10 ноя 16, 14:56    [19879513]     Ответить | Цитировать Сообщить модератору
 Re: Получить список имен установленных экземпляров MSSQL  [new]
o-o
Guest
Magaxon
Так же по эмпирическим наблюдениям инстанс MSSQLSERVER скорее всего является экземпляром по умолчанию, т.е. не именнованным.

не надо эмпирически, это 100% дефолтный экземпляр
Instance Name (SQL Server Express)
BOL
The default instance name is MSSQLSERVER; it does not require a client to specify the name of the instance to make a connection.
10 ноя 16, 15:02    [19879557]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить