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

Откуда:
Сообщений: 2194
Собственно вопрос, на первый взгляд, не сложен.

Есть SQL-сервер, например:

MsSql-No1\MsSqlNo1

К нему можно подключиться как указывая имя полностью (MsSql-No1\MySqlNo1), так и только имя компьютера (MsSql-No1).

Сам вопрос - могу ли я как то узнать из свойств сервера что к нему можно подключиться используя лишь имя компьютера? Ну исключая метод тыка, конечно.

P.S В иделале - еще бы вариант с использованием WMI...

-------------------------------------------------------
В интернете ничего стоящего нарыть не удалось...
7 сен 18, 14:33    [21668218]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по инстансу  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
AndrF,

Посмотреть название. именованый инстанс только по имени, дефолтный как вы указали, приблизительно так
7 сен 18, 14:40    [21668226]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по инстансу  [new]
AndrF
Member

Откуда:
Сообщений: 2194
TaPaK
AndrF,
Посмотреть название. именованый инстанс только по имени, дефолтный как вы указали, приблизительно так


Какое название?

@@SERVERNAME = MsSql-No1\MsSqlNo1" - вроде именованный инстанс, но по имени компа SQL сервер-то доступен...
7 сен 18, 14:56    [21668244]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по инстансу  [new]
komrad
Member

Откуда:
Сообщений: 5244
AndrF
@@SERVERNAME = MsSql-No1\MsSqlNo1" - вроде именованный инстанс, но по имени компа SQL сервер-то доступен...


принудительно повешен на TCP:1433
7 сен 18, 15:04    [21668255]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по инстансу  [new]
invm
Member

Откуда: Москва
Сообщений: 9349
AndrF
Сам вопрос - могу ли я как то узнать из свойств сервера что к нему можно подключиться используя лишь имя компьютера?
Соединится по TCP и выполнить
select local_tcp_port from sys.dm_exec_connections where session_id = @@spid;
Если результат 1433, то можно по имени компьютера.
7 сен 18, 15:07    [21668261]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по инстансу  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
AndrF
P.S В иделале - еще бы вариант с использованием WMI...
Не уверен насчет WMI, если через него можно реестр читать, то попробуйте, я делал на шарпе.

Сначала вытаскиваем ID нужного инстанса из
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL

Потом используем этот ID чтобы прочитать настройки TCP из
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<<<Your Instance ID from previuos step>>>\MSSQLServer\SuperSocketNetLib\Tcp

Если ListenOnAllIPs включено то
читаем порт из IPAll\TcpPort
Иначе
все порты TcpPort из IP1,IP2...IPN, где включены Active и Enabled.
7 сен 18, 21:25    [21668654]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по инстансу  [new]
iap
Member

Откуда: Москва
Сообщений: 46978
SERVERPROPERTY('InstanceName')
не поможет?
10 сен 18, 10:56    [21669631]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить