Возможно, вы найдете дубликат вопроса для этих двух ссылок ( Ссылка1 и Ссылка2 ), но на них не был дан правильный ответ. Позвольте мне проинформировать вас о том, чего я действительно хочу.
Ищу
Я ищу способ, с помощью которого мы можем проверить, является ли предоставленное Имя экземпляра SQL локально доступным или находится на другом удаленном компьютере.
Мой локальный экземпляр SQL Server называется Office-PC \ SQLEXPRESS
Решения, которые я нашел, которые не работали
1) Источник : Когда я использую приведенный ниже код, он говорит: remote , в то время как указанный экземпляр присутствует local .
SELECT Case when HOST_NAME()=SERVERPROPERTY('Office-PC\SQLEXPRESS') then 'local' else 'remote' end
2) Я пытался использовать приведенный ниже код, предложенный во многих комментариях на разных сайтах. Но он показывает неправильный вывод.
print HOST_NAME() //OUTPUT : Office-PC
print @@SERVERNAME //OUTPUT : HOME\SQLEXPRESS
3) Некоторые люди предложили использовать приведенную ниже команду для получения имени экземпляра, которое отлично работает, но не говорит нам, какой из экземпляров доступен локально.
SQLCMD -L
4) Я также где-то читал (не могу найти ссылку), что мы можем получить имя экземпляра из Registry .
Это все, что я мог найти.
Если у кого-то есть другие способы узнать, является ли предоставленный именованный экземпляр SQL локально доступным, пожалуйста, сообщите мне.