К статье
Практический материал

Администрирование · 11 мин

Как узнать, какой сервер баз данных использует 1С

Как узнать сервер баз данных 1С: через строку подключения, кластер серверов 1С, консоль администрирования и список баз. Пошаговые инструкции и типичные ошибки.

Чтобы узнать, на каком сервере расположена база данных 1С, достаточно посмотреть параметры подключения информационной базы — они видны прямо в окне запуска 1С или в свойствах базы в консоли кластера. Однако важно различать два разных «сервера»: сервер приложений 1С (кластер) и собственно сервер СУБД (MS SQL Server, PostgreSQL, Oracle или IBM Db2), где физически хранятся данные. Часто это разные машины, и путаница между ними — самая распространённая причина ошибок при обслуживании.

Способ проверки зависит от режима работы базы: файловый или клиент-серверный. В файловом варианте никакого сервера СУБД нет — данные лежат в файле 1Cv8.1CD в сетевой папке. В клиент-серверном варианте параметры подключения хранятся в нескольких местах: в списке баз пользователя, в свойствах базы в консоли администрирования кластера и в настройках самой СУБД.

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

Как определить режим работы базы: файловый или клиент-серверный

Прежде чем искать сервер, убедитесь, что он вообще существует. Откройте окно запуска 1С (ярлык «1С Предприятие»), выделите нужную базу в списке и посмотрите на строку внизу окна. Если там указан путь вида \\Server\Bases\Trade\ или локальный каталог — это файловый режим, и сервера баз данных у такой базы нет.

Если внизу окна указано что-то вроде srv-1c:1541\Trade или Srvr="srv-1c";Ref="Trade"; — база работает в клиент-серверном режиме, и дальше нужно выяснить два параметра: имя сервера приложений 1С и имя сервера СУБД.

Тот же признак виден внутри запущенной программы: откройте «Файл → Сведения для технической поддержки» (в некоторых конфигурациях — «Администрирование → Обслуживание») и найдите строку «Режим работы». Там будет указано «файловый» или «клиент-серверный», а также строка соединения с базой данных.

Как узнать сервер через список баз и строку подключения

Самый быстрый способ — посмотреть параметры в окне запуска. Выделите базу, нажмите кнопку «Настройка» (или правой кнопкой мыши → «Изменить») и пролистайте диалог до страницы с параметрами. Для клиент-серверной базы там будут поля «Кластер серверов 1С:Предприятия» и «Имя информационной базы». Поле кластера — это сервер приложений, но не сервер СУБД.

Строка подключения хранится в файле списка баз ibases.v8i, который лежит в профиле пользователя: %APPDATA%\1C\1CEStart\ibases.v8i. Откройте его блокнотом и найдите секцию нужной базы — параметр Connect=Srvr="...";Ref="..."; покажет сервер кластера и имя базы.

Если база подключена через веб-сервер (тонкий клиент по HTTP), в строке будет адрес вида ws=http://server/base. В этом случае параметры СУБД скрыты на стороне веб-сервера, и узнать их можно только из консоли кластера или у администратора, настраивавшего публикацию.

text
[Trade]
Connect=Srvr="srv-1c";Ref="trade_db";
App=ThickClient

Как узнать сервер СУБД через консоль администрирования кластера

Именно в консоли кластера хранится главный ответ — адрес сервера баз данных. Откройте оснастку «Администрирование серверов 1С:Предприятия» на машине, где установлен сервер 1С (или подключитесь к нему удалённо, добавив центральный сервер в консоль). Раскройте дерево: «Кластеры → Локальный кластер → Информационные базы».

Выделите нужную базу и откройте её свойства двойным щелчком. В диалоге вы увидите ключевые поля: «Сервер баз данных» (имя или IP-адрес SQL-сервера), «СУБД» (тип: MS SQL Server, PostgreSQL, Oracle, IBM Db2), «Имя базы данных» и «Пользователь/пароль сервера БД» — учётную запись, под которой кластер обращается к СУБД.

Обратите внимание: если в поле «Сервер баз данных» указано просто имя без экземпляра, а на SQL Server используется именованный экземпляр, фактический адрес может включать имя экземпляра, например sqlsrv\INSTANCE1. Это важно при настройке резервного копирования напрямую средствами СУБД.

Как найти сервер СУБД через консоль кластера
  1. 1
    Откройте оснастку «Администрирование серверов 1С:Предприятия»
  2. 2
    Добавьте центральный сервер, если консоль пустая (правой кнопкой → «Создать → Центральный сервер 1С:Предприятия 8.3»)
  3. 3
    Раскройте «Кластеры → Локальный кластер → Информационные базы»
  4. 4
    Откройте свойства нужной базы двойным щелчком
  5. 5
    Запишите значения полей «Сервер баз данных», «СУБД» и «Имя базы данных»
  6. 6
    Проверьте доступность сервера СУБД командой ping или telnet по порту СУБД

Как проверить сервер со стороны самой СУБД

Когда консоль кластера недоступна, подтвердить расположение базы можно на стороне SQL-сервера. Для MS SQL Server откройте SQL Server Management Studio, подключитесь к предполагаемому серверу и разверните узел «Databases» — имя базы должно совпадать с тем, что указано в свойствах информационной базы кластера (параметр Ref обычно совпадает с именем базы в СУБД, но не всегда).

Для PostgreSQL список баз виден в pgAdmin или командой psql -l. Если вы не знаете, на каком сервере искать базу, посмотрите сетевые подключения на сервере 1С: процесс rphost устанавливает постоянные соединения с сервером СУБД, и их видно командой netstat -ano с фильтрацией по PID рабочих процессов кластера.

bash
netstat -ano | findstr ESTABLISHED | findstr "PID_процесса_rphost"

Этот метод особенно полезен в аварийных ситуациях, когда консоль кластера не открывается, но сам сервер 1С работает: по внешним соединениям rphost вы однозначно определите IP-адрес и порт сервера баз данных (для MS SQL по умолчанию 1433, для PostgreSQL — 5432).

Как узнать сервер изнутри программы 1С

Если у вас есть доступ в базу с правами администратора, строку соединения можно посмотреть прямо в интерфейсе. В типовых конфигурациях: «Администрирование → Обслуживание → Сведения для технической поддержки» либо «Файл → Сведения для технической поддержки». В отчёте будет строка соединения с параметрами Srvr и Ref.

Разработчику доступен и программный способ — функция СтрокаСоединенияИнформационнойБазы() возвращает полную строку подключения. Её можно выполнить через обработку или консоль кода.

bsl
Сообщить(СтрокаСоединенияИнформационнойБазы());
// Результат: Srvr="srv-1c";Ref="trade_db";

Учтите, что строка соединения показывает сервер кластера, а не сервер СУБД. Если вам нужен именно SQL-сервер, а доступа к консоли кластера нет, придётся запросить эти данные у администратора сервера или искать по сетевым соединениям, как описано выше.

Частые ошибки и ограничения при определении сервера

Главная ошибка — путать сервер кластера 1С и сервер СУБД. Они могут совпадать (обе службы на одной машине в небольших организациях), но в нагруженных системах это всегда разные серверы. Если вы настраиваете резервное копирование средствами SQL и берёте адрес из строки подключения пользователя, рискуете подключиться не туда.

Вторая ошибка — опираться на имя базы в списке запуска. Название в списке пользователя — произвольная подпись, она может не совпадать ни с Ref, ни с именем базы в СУБД. Ориентируйтесь только на параметры подключения.

Типичные ошибки
01
Считать сервер из строки Srvr сервером баз данных — это адрес кластера 1С, а СУБД может быть на другой машине
02
Доверять названию базы в списке запуска — подпись произвольная и часто не совпадает с реальным именем базы
03
Искать базу на экземпляре SQL по умолчанию, когда используется именованный экземпляр — база не найдётся в списке
04
Пытаться открыть консоль кластера без прав — для просмотра свойств базы нужны права администратора кластера или информационной базы

Ограничение по правам тоже важно: если для кластера задан администратор, без его учётных данных консоль покажет структуру, но не откроет свойства баз. В этом случае остаются способы через строку соединения, netstat или запрос к владельцу инфраструктуры.

Как проверить, что найденный сервер — правильный

После того как вы определили адрес сервера СУБД, убедитесь, что он актуален. Проверьте сетевую доступность: ping имя_сервера и подключение к порту СУБД (например, telnet sqlsrv 1433). Затем подключитесь средствами СУБД и убедитесь, что база с нужным именем существует и находится в состоянии ONLINE.

Дополнительная проверка — сверить дату последнего изменения данных: если база в СУБД давно не обновлялась, а пользователи активно работают, вероятно, вы нашли старую копию, а рабочая база расположена на другом сервере.

Контрольные точки

Как проверить результат

Доступность сервера СУБД по сети
Норма

ping проходит, порт СУБД отвечает

Тревожный признак

Сервер не пингуется или порт закрыт — проверяйте имя, DNS и брандмауэр

Наличие базы на сервере
Норма

База с именем из свойств кластера есть в списке и в статусе ONLINE

Тревожный признак

Базы нет — возможно, используется другой экземпляр или сервер

Актуальность данных
Норма

В таблицах есть свежие записи, совпадающие с работой пользователей

Тревожный признак

Данные устарели — найдена копия, а не рабочая база

Итог

Что важно запомнить

Сервер баз данных 1С указан в свойствах информационной базы в консоли администрирования кластера — поле «Сервер баз данных». Строка подключения в списке баз показывает только сервер кластера. Проверяйте найденный сервер доступностью порта СУБД и актуальностью данных, и не меняйте параметры подключения без резервной копии.

Частые вопросы

Где посмотреть сервер 1С, если нет доступа к серверу администрирования?

Откройте файл списка баз %APPDATA%\1C\1CEStart\ibases.v8i в блокноте и найдите параметр Connect нужной базы — там указан сервер кластера. Также строку соединения видно в программе: «Файл → Сведения для технической поддержки». Адрес сервера СУБД без доступа к консоли можно определить по сетевым соединениям процесса rphost на сервере 1С.

Совпадают ли сервер 1С и сервер баз данных?

Это разные компоненты. Сервер 1С (кластер) обрабатывает подключения пользователей, а сервер СУБД хранит данные. В небольших организациях обе службы часто стоят на одной машине, в крупных — всегда разнесены. Точный адрес сервера СУБД виден только в свойствах информационной базы в консоли кластера.

Как узнать сервер базы, если 1С работает через веб-сервер?

При подключении по HTTP строка подключения содержит только адрес публикации, параметры СУБД скрыты. Нужные данные есть в консоли администрирования кластера на сервере 1С либо у администратора, выполнявшего публикацию. Со стороны клиента определить сервер СУБД невозможно.

Что делать, если в консоли кластера не видно информационных баз?

Убедитесь, что добавлен правильный центральный сервер и служба агента сервера 1С запущена. Если при открытии свойств базы запрашивается пароль — для кластера задан администратор, и без его учётных данных свойства недоступны. Проверьте также, что версия консоли совпадает с версией сервера 1С, иначе подключение может не работать.

Как понять, какая СУБД используется: MS SQL или PostgreSQL?

Тип СУБД указан в свойствах информационной базы в консоли кластера — поле «СУБД». Косвенный признак без доступа к консоли — открытые порты на сервере баз данных: 1433 характерен для MS SQL Server, 5432 — для PostgreSQL.

Опасно ли менять сервер баз данных в свойствах базы?

Да. Неверное значение поля «Сервер баз данных» или «Имя базы данных» немедленно делает базу недоступной для всех пользователей, а указание чужой базы может привести к подключению не к тем данным. Перед изменением зафиксируйте текущие значения, сделайте резервную копию и выполняйте работы в нерабочее время.