Как узнать имя экземпляра Microsoft SQL Server на T-SQL
Всем привет! Сегодня мы с Вами рассмотрим несколько способов определения имени экземпляра Microsoft SQL Server на языке T-SQL, а также с использованием других программных средств.
Способы определения имени экземпляра Microsoft SQL Server
Существует несколько способов узнать, какое имя экземпляра у SQL Server. Мы рассмотрим способы, которые подразумевают обращение к определенным системным функциям на языке T-SQL, а также способ, с помощью которого мы можем узнать имена всех экземпляров SQL Server, которые установлены на конкретном сервере.
Кроме этого я покажу способ определения имени экземпляра SQL Server без выполнения SQL инструкций, например, для случаев, когда нет возможности подключиться к SQL Server. Данный способ предполагает выполнение определённой инструкции на языке PowerShell.
Таким образом, для того чтобы определить имя экземпляра Microsoft SQL Server, Вы можете использовать тот способ, который будет удобнее в Вашем конкретном случае.
Способ 1 – функция @@SERVERNAME
Первый способ предполагает использование системной функции @@SERVERNAME, которая возвращает имя локального сервера, на котором работает SQL Server.
Функция @@SERVERNAME возвращает следующие данные:
| Исходные данные | Данные, которые возвращает функция |
| Если используется экземпляр по умолчанию | «Имя_сервера» |
| Если используется именованный экземпляр | «Имя_сервера\Имя_экземпляра» |
| Если используется экземпляр по умолчанию отказоустойчивого кластера | «Сетевое_имя_экземпляра_отказоустойчивого_ кластера_windows_server» |
| Если используется именованный экземпляр отказоустойчивого кластера | «Сетевое_имя_экземпляра_отказоустойчивого_ кластера_windows_server\имя_экземпляра» |
Пример использования функции
SELECT @@SERVERNAME AS SERVERNAME;

В моем случае используется именованный экземпляр Microsoft SQL Server, поэтому функция вернула соответствующие данные, где SQLEXPRESS и есть имя экземпляра SQL Server.
Способ 2 – функция @@SERVICENAME
Второй способ определения имени экземпляра Microsoft SQL Server предполагает использование функции @@SERVICENAME, которая возвращает имя раздела реестра, согласно которому запущен SQL Server.
Если текущий экземпляр является экземпляром по умолчанию, то данная функция возвращает «MSSQLSERVER», однако если же текущий экземпляр является именованным экземпляром, то эта функция возвращает имя этого экземпляра.
Пример использования функции
SELECT @@SERVICENAME AS SERVICENAME;

В данном случае, так как у меня именованный экземпляр, функция @@SERVICENAME вернула имя экземпляра.
Способ 3 – функция SERVERPROPERTY
Следующий способ определения имени экземпляра SQL Server предполагает использование системной функции SERVERPROPERTY, которая возвращает много различных сведений о свойствах экземпляра Microsoft SQL Server.
Данная функция принимает один параметр, и если мы передадим значение «InstanceName», то она нам вернет имя экземпляра.
Однако здесь стоит учитывать, что если используется экземпляр по умолчанию, то функция вернет NULL.
Пример использования функции
SELECT SERVERPROPERTY ('InstanceName') AS SERVERPROPERTY;

У меня именованный экземпляр, поэтому функция вернула имя экземпляра.
Способ 4 – процедура xp_regread
Если Вам необходимо узнать имена всех экземпляров SQL Server, которые установлены на конкретном сервере, то для этого Вы можете использовать системную хранимую процедуру xp_regread, которая умеет считывать параметры реестра Windows, в котором как раз и можно найти всю интересующую нас информацию об экземплярах Microsoft SQL Server.
Процедура принимает три параметра: в первом мы указываем название раздела реестра, во втором — путь к нужной нам ветке реестра, и третий — параметр, значение которого нам нужно считать.
Пример использования процедуры
DECLARE @SQLServerInstances TABLE( LineNumber NVARCHAR(100), InstanceName NVARCHAR(100), Data NVARCHAR(100) NULL ); INSERT INTO @SQLServerInstances EXECUTE xp_regread @rootkey = 'HKEY_LOCAL_MACHINE', @key = 'SOFTWARE\Microsoft\Microsoft SQL Server', @value_name = 'InstalledInstances'; SELECT LineNumber, InstanceName FROM @SQLServerInstances;

У меня установлен только один экземпляр, поэтому инструкция вернула одну строку данных.
Как узнать имя экземпляра Microsoft SQL Server на PowerShell
Способ предполагает простое считывание названия службы Microsoft SQL Server, т.е. мы с помощью определенной инструкции на PowerShell ищем название службы по префиксу «MSSQL$» (данный префикс имеет «Имя службы, а не «Отображаемое имя службы»).
Пример инструкции на PowerShell
Get-WMIObject Win32_Service -Filter «name like ‘MSSQL$%'» | %

Кроме этого, узнать имя экземпляра Microsoft SQL Server можно, если зайти в оснастку «Службы» в Windows и посмотреть, какое имя указано в названии службы SQL Server.
Заметка! Всем тем, кто только начинает свое знакомство с языком SQL, рекомендую прочитать книгу «SQL код» – это самоучитель по языку SQL, которую написал я, и в которой я подробно, и в то же время простым языком, рассказываю о языке SQL.
На сегодня это все, надеюсь, материал был Вам полезен, пока!
Имя сервера
Как узнать имя сервера SQL ? сбилось имя пытаюсь ввести имяПК\имя экземпляра. После подключения вошёл но там небыло почти всех бд, а подключится к недавно созданным БД не получается.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Имя сервера
При соединении с сервером необходимо ввести имя сервера. какое оно??
Изменить имя сервера
Окно соединения с сервером (SQL server 2008 R2): Тип сервера Microsoft Engine, Имя сервера.

Как узнать имя сервера
Добрый вечерок. Подскажите, как узнать имя сервера SQL Server Management Studio 2017? В панеле.
Имя сервера для SQL
Доброго времени суток! Установил SQL server 2012 По умолчанию в имени сервера стоит Localhost C.
5314 / 4251 / 1049
Регистрация: 29.08.2013
Сообщений: 26,764
Записей в блоге: 3
Сообщение от Xmypblu_KoT 
Как узнать имя сервера SQL ?
если ставил ты — то ты же знаешь куда его ставил
если не ты — спроси
если совсем не знаешь — открой студию и выбери Соеденить\Ядро СУБД\ и там где имя сервера выбрать «Продолжить обзор»
студия просканирует подсеть и выведет список доступных серверов
Регистрация: 23.08.2019
Сообщений: 53
Я так и сделал и зашео на сервер, но там небыло 90% бд, и послежних очень нужным мне. Пытаясь подсоеденится к ним выдаёт ошибку,зайти в полный путь как я делал до этого пользователь/рабочик стол/ и тд не получается
5314 / 4251 / 1049
Регистрация: 29.08.2013
Сообщений: 26,764
Записей в блоге: 3
ты спросил как узнать имя сервера — я подсказал.
но как узнать где нужные тебе базы я не знаю
Регистрация: 23.08.2019
Сообщений: 53
На компьютере может быть больше 1 сервера?
5314 / 4251 / 1049
Регистрация: 29.08.2013
Сообщений: 26,764
Записей в блоге: 3
да, можно установить несколько
1634 / 1135 / 171
Регистрация: 23.07.2010
Сообщений: 6,713
Сообщение от Xmypblu_KoT 
На компьютере может быть больше 1 сервера?
открой для себя named instance
1113 / 758 / 183
Регистрация: 27.11.2009
Сообщений: 2,264
PRINT @@SERVERNAME
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Как получить имя сервера?
Среда Visual Basic STUDIO’2010 Professional Windows’XP, компьютер не подключён к интернету.
Невозможно подключиться к [имя сервера]
Пытаюсь запустить программу (впервые), оставил стандартные настройки и задал имя серверу. При.
Не удается найти имя сервера Sql Server
Не могу найти имя сервера SQL сервера, даже переустановил SQL. Не получиться Даже с помощью.
Первый запуск SQL Server 2014 — какое имя сервера ввести?
Не ругайте слишком громко. Уже все обшарил но так ничего и не понял( Скачал SQL Server 2014.
Импорт из Excel — Есть ли разница что выбирать в «Назначение» и в «Имя сервера»?
Помогите, пожалуйста, чайнику. Поставил MS SQL Server захожу в импорт и экспорт данных а дальше.
Как задать имя столбца, если имя — это значение поля другой таблицы?
Доброго времени суток! При вставке нового значения в таблицу1, срабатывает триггер, который.
Программирование на C, C# и Java
Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы
ОСТОРОЖНО МОШЕННИКИ! В последнее время в соиальных сетях учстились случаи педложения помощи в написании прогамм от лиц, прикрвающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в псторонних группах ВК. Для связи с нами используйте исключительно эти контакт: vscoderu@yandex.ru, https://vk.com/vscode
Как узнать имя сервера Microsoft SQL Server
Для выполнения запросов к локальной базе данных Microsoft SQL Server из программы необходимо знать имя экземпляра сервера. Из статьи вы узнаете, как его получить.
Способ первый. Самый надежный
В Microsoft SQL Server предусмотрен специальный SQL запрос, возвращающий имя экземпляра сервера:
Transact-SQL
select @ @ servername
Выполнив данный запрос, например, в SQL Server Management Studio, вы получите имя вашего экземпляра сервера.

В данном случае было возвращено имя установленного экземпляра Microsoft SQL Server равное: SQLEXPRESS.
Способ второй
Другим способом получения имени SQL-сервера является поиск записи службы SQL Server.
Запустите классическое приложение Windows «Службы» на вашем компьютере и найдите в списке служб объект SQL Server.
В скобках будет указано имя экземпляра.

В этом же меню можно остановить, запустить и перезапустить экземпляр установленного Microsoft SQL Server.
Стоит отметить, что второй способ получения имени сервера — менее достоверен. В скобках не всегда указано истинное имя сервера, пригодное для обращения к нему при подключении. Поэтому при наличии возможности лучше всего использовать первый способ получения имени с помощью SQL-запроса.
Как узнать имя sql сервера установленного у меня на компе ?
Обычно имя сервера совпадает с именем компьютера, если он единственный на компе!! ! Можно использовать имя (local), если сервер единственный и обращение к нему идет с этого (локального) компа. Можно запустить Management Studio посмотреть список Имен сервера. Обычно там имя локального сервера стоит сразу по умолчанию. Бывает имя сервера записывается таким образом имяКомп\имяЭкземпляра, где имя экземпляра это ИмяКомпьютераГодВерсии, если это не урезанные экспресс-версии, если экспресс версии, то SQLEXPГодВерсии, если для малого бизнеса версия, то имяЭкземляра — это SBSГодВерсии. Вообще эти имена задаются при установке могут быть любыми. Это лишь то, что бывает по умолчанию. Самый лучший способ это конечно сделать обзор сервисов через Management Studio в окне авторизации.
а что если нет этих имен сервер в списке sql?
Похожие вопросы
