Администрирование · 10 мин
Как получить имя сервера 1С: все рабочие способы
Как получить имя сервера 1С: через консоль кластера, список баз, строку подключения, запрос к SQL Server и программно. Пошаговые инструкции и типичные ошибки.
Имя сервера 1С требуется при добавлении информационной базы, настройке подключения, диагностике сети и переносе системы на новое оборудование. Проблема в том, что «сервер 1С» — неоднозначное понятие: это может быть имя компьютера, где работает агент сервера 1С:Предприятия, адрес SQL-сервера с базой данных или сетевое имя файлового ресурса. Прежде чем искать, стоит определить, какой именно сервер нужен в вашей ситуации.
Для клиент-серверного варианта работы чаще всего нужны два адреса: имя сервера приложений (кластер 1С) и имя сервера СУБД. Они могут совпадать, если оба компонента установлены на одной машине, а могут различаться в распределённой инфраструктуре. Ниже разобраны все практические способы узнать каждый из них — от просмотра свойств базы до запросов в консоли SQL Server.
Определите, какой именно сервер вам нужен
В инфраструктуре 1С участвуют несколько компонентов, и у каждого своё сетевое имя. Агент сервера 1С:Предприятия обслуживает кластер и принимает подключения клиентов, сервер СУБД (MS SQL Server, PostgreSQL, Oracle) хранит данные, а в файловом варианте роль «сервера» выполняет компьютер с общей папкой. Путаница между ними — главная причина ошибок при настройке подключения.
Простой ориентир: если база открывается у пользователей в клиент-серверном режиме, в строке подключения есть два адреса — кластера и СУБД. Если база файловая, достаточно сетевого пути к каталогу. Веб-клиент и публикация на веб-сервере добавляют ещё один адрес — URL публикации, который тоже иногда называют «адресом сервера».
Узнайте имя сервера через список информационных баз
Самый доступный способ не требует прав администратора и работает на любом клиентском компьютере. Запустите ярлык 1С, чтобы открылось окно со списком информационных баз. Выделите нужную базу и нажмите кнопку «Изменить» — откроется мастер редактирования параметров подключения.
Если база клиент-серверная, на втором шаге мастера отображаются два поля: «Кластер серверов 1С:Предприятия» и «Имя информационной базы в кластере». Содержимое первого поля — это искомое имя сервера приложений. Оно может быть записано как NetBIOS-имя (SRV-1C), как FQDN (srv-1c.company.local) или как IP-адрес — все варианты рабочие.
Если база файловая, мастер покажет путь к каталогу вида \\FILESERVER\Bases\Trade. Имя сервера здесь — первая часть пути после двойного обратного слэша, то есть FILESERVER. Скопируйте значение поля целиком, чтобы не ошибиться в написании при ручном вводе.
- 1Откройте окно запуска 1С со списком информационных баз
- 2Выделите нужную базу и нажмите «Изменить»
- 3Перейдите на шаг с параметрами подключения
- 4Скопируйте значение поля «Кластер серверов 1С:Предприятия»
- 5Проверьте доступность: выполните ping <имя сервера> в командной строке
Найдите сервер через консоль администрирования кластера
Консоль администрирования серверов 1С:Предприятия (оснастка MMC) показывает не только имя, но и полную структуру кластера. Откройте её на компьютере, где установлен сервер 1С, либо подключитесь удалённо: в дереве слева нажмите правой кнопкой на «Центральные серверы 1С:Предприятия» и выберите создание нового подключения, указав известный адрес.
Раскройте ветку сервера, затем «Кластеры» и «Информационные базы». В списке будут все базы кластера, а в свойствах каждой базы (двойной щелчок) виден раздел «Сервер баз данных» — это имя SQL-сервера. Здесь же указаны тип СУБД, имя базы данных и пользователь СУБД, под которым 1С подключается к серверу.
Если консоль не установлена на вашем компьютере, её можно поставить отдельно из дистрибутива платформы — выберите при установке компонент «Администрирование сервера 1С:Предприятия». Для подключения к кластеру версия консоли должна совпадать с версией агента сервера, иначе подключение завершится ошибкой несовместимости.
Получите имя SQL-сервера напрямую
Когда доступа к консоли кластера нет, имя сервера СУБД можно узнать со стороны самой СУБД. На компьютере с MS SQL Server откройте SQL Server Management Studio: при подключении в поле «Server name» обычно уже подставлено текущее имя экземпляра. Оно состоит из имени компьютера и, для именованных экземпляров, слэша с именем экземпляра — например, SQLSRV\INSTANCE1.
Через запрос и реестр
Точное имя экземпляра возвращает запрос SELECT @@SERVERNAME, выполненный в SSMS. Имя компьютера без экземпляра показывает команда hostname в командной строке Windows. Если служба SQL Server Browser запущена, список доступных серверов в сети можно получить командой sqlcmd -L.
Через службы Windows
Откройте оснастку «Службы» (services.msc) на предполагаемом сервере. Наличие службы «SQL Server (MSSQLSERVER)» означает экземпляр по умолчанию — подключение идёт просто по имени компьютера. Служба с другим именем в скобках указывает на именованный экземпляр, и его имя нужно указывать в строке подключения после слэша.
SELECT @@SERVERNAME AS ServerName, @@SERVICENAME AS InstanceName;Получите имя сервера программно из 1С
Внутри конфигурации данные о сервере доступны встроенными средствами языка. Функция СтрокаСоединенияИнформационнойБазы() возвращает строку вида Srvr="SRV-1C";Ref="Trade"; — из неё легко извлечь имя кластера разбором строки. Это удобно для журналирования, диагностических обработок и проверки, к какому серверу подключён конкретный сеанс.
Имя компьютера, на котором выполняется код, возвращает функция ИмяКомпьютера(). Учтите важный нюанс: в клиент-серверном режиме код, выполняемый на сервере, вернёт имя сервера приложений, а код на клиенте — имя рабочей станции пользователя. Поэтому для диагностики вызывайте функцию явно в серверном контексте, например в серверной процедуре общего модуля.
Для административных задач — получения списка баз, сеансов и параметров кластера — используется COM-коннектор V83.COMConnector или интерфейс администрирования RAS. Через них программно доступны все свойства информационных баз, включая адрес сервера СУБД, что позволяет автоматизировать инвентаризацию инфраструктуры.
Проверьте, что найденное имя работает
Найденное имя стоит сразу проверить на доступность, особенно если вы собираетесь использовать его на другом компьютере. Команда ping имя_сервера подтвердит разрешение имени в IP-адрес и базовую сетевую связность. Если ping по имени не проходит, а по IP-адресу проходит — проблема в DNS, и надёжнее временно использовать IP-адрес либо исправить запись в DNS.
Для сервера приложений проверьте доступность порта кластера командой Test-NetConnection имя_сервера -Port 1541 в PowerShell. Для SQL Server стандартный порт — 1433 (для именованных экземпляров порт может быть динамическим). Закрытый порт при работающем сервере означает блокировку брандмауэром — потребуется правило, разрешающее входящие подключения.
Как проверить результат
Имя разрешается в IP, ответы приходят
«Не удается обнаружить узел» — проблема DNS
TcpTestSucceeded: True
Порт закрыт — проверьте брандмауэр и службу агента
База открывается без ошибок
Ошибка соединения с сервером 1С — имя или порт неверны
Типичные ошибки и ограничения
Частая ошибка — указание вместо имени кластера имени SQL-сервера и наоборот. Симптом простой: база не находится, хотя сервер пингуется. Проверьте, какое именно поле вы заполняете в мастере добавления базы, и сверьте значение с консолью кластера.
Вторая группа проблем связана с разрешением имён. В сетях без корректно настроенного DNS короткие имена могут не работать с клиентских машин, а FQDN — работать, или наоборот. Если имя содержит кириллицу или пробелы, переименуйте сервер: такие имена вызывают сбои подключения и проблемы с сертификатами.
После переименования компьютера с сервером 1С кластер может перестать стартовать корректно, так как в реестре кластера (каталог srvinfo) хранится старое имя. Перед плановым переименованием сервера изучите процедуру переноса и измените настройки кластера, а после — обновите строки подключения у всех пользователей.
Что важно запомнить
Имя сервера 1С смотрите в свойствах базы в окне запуска или в консоли кластера; имя SQL-сервера — в свойствах базы кластера или через SSMS. Программно используйте СтрокаСоединенияИнформационнойБазы() и ИмяКомпьютера(). Найденное имя проверяйте ping и доступностью порта 1541, а кластер и СУБД не путайте между собой.
Частые вопросы
Что делать, если в списке баз указан IP-адрес, а нужно имя?
IP-адрес — тоже допустимый способ адресации. Чтобы узнать соответствующее имя, выполните в командной строке ping -a IP-адрес: команда попытается разрешить адрес в имя через обратный DNS-запрос. Если обратная зона не настроена, имя можно посмотреть, зайдя на сам сервер и выполнив команду hostname.
Где хранится список баз с адресами серверов на компьютере пользователя?
Список информационных баз хранится в файле ibases.v8i в профиле пользователя (каталог %APPDATA%\1C\1CEStart). Файл текстовый: откройте его блокнотом и найдите секцию нужной базы — параметр Connect содержит строку соединения с именем сервера.
Как узнать имя сервера, если база опубликована на веб-сервере?
Для веб-публикации клиенты используют URL, а не имя кластера. Фактический сервер приложений указан в файле default.vrd в каталоге публикации — в атрибуте ib элемента point записана строка соединения с кластером. Доступ к этому файлу есть у администратора веб-сервера.
Можно ли узнать имя сервера без прав администратора?
Да. Способ через кнопку «Изменить» в окне списка баз доступен любому пользователю, как и чтение файла ibases.v8i. Права администратора нужны только для консоли кластера, оснастки служб и подключения к SQL Server.
Почему ping по имени проходит, а 1С всё равно не подключается?
Ping проверяет только сетевую доступность, но не работу служб. Проверьте, что служба «Агент сервера 1С:Предприятия» запущена, порт 1541 открыт в брандмауэре, а версия платформы клиента совместима с версией сервера. Также убедитесь, что имя базы в кластере введено с учётом регистра и без лишних пробелов.
Как узнать сервер для базы в файловом варианте?
В файловом варианте сервера приложений нет — данные лежат в общей папке. Откройте свойства базы в списке: путь вида \\ИМЯ\Каталог показывает, что файловым сервером является компьютер ИМЯ. Если путь локальный (C:\Bases\...), база находится на вашем собственном компьютере.