Подключаем информационную базу к серверу 1С: консоль, rac и публикация

· 10 мин

Содержание

Базу в кластер серверов 1С добавляют в консоли администрирования: Информационные базы → Создать → Информационная база, дальше указываете имя, тип и адрес СУБД, имя базы данных и учётную запись. Тем же занимается утилита rac из командной строки. Остаётся подключить пользователей и, если нужен веб-доступ, опубликовать базу.

Ниже порядок действий целиком: от проверки служб до публикации. Отдельно разобраны ошибки, на которых люди застревают чаще всего: «не удаётся подключиться к серверу », «ошибка при создании базы данных», «база не видна в списке».

Что проверить до создания базы

Половина проблем при добавлении базы возникает не в консоли, а до неё. Пройдите короткий список.

  • 🖥 Служба сервера 1С запущена. В Windows это «Агент сервера 1С:Предприятия 8.3», в Linux — сервис srv1cv83. Без агента консоль просто не увидит сервер.
  • 🔌 Порты открыты. По умолчанию: агент — 1540, главный менеджер кластера — 1541, диапазон рабочих процессов — 1560-1591. Сервер RAS слушает 1545.
  • 🗄 СУБД доступна с сервера 1С. PostgreSQL, MS SQL Server или другая поддерживаемая. Проверьте, что с машины сервера 1С виден адрес СУБД и открыт её порт (для PostgreSQL обычно 5432, для MS SQL — 1433).
  • 🔑 Есть учётная запись СУБД. Для создания базы нужна роль с правом создавать базы данных. Для подключения к уже существующей базе хватит владельца этой базы.
  • 📦 Версии совпадают. Платформа клиента и сервера должны быть одной версии вплоть до сборки, иначе пользователи получат ошибку несоответствия версий при входе.

Если сервер 1С и СУБД стоят на одной машине, в поле адреса СУБД можно писать localhost. Если на разных, указывайте имя или IP, который сервер 1С точно разрешает.

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

Перед созданием базы
Выполнено: 0 / 5

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

Консоль серверов 1С ставится вместе с платформой (отдельный компонент установки). Запускается как «Администрирование серверов 1С:Предприятия» либо как оснастка в более старых версиях платформы.

Шаг 1. Подключитесь к серверу и найдите кластер

  1. Откройте консоль. В левой части дерева нажмите правой кнопкой по Центральные серверы 1С:Предприятия 8.3.
  2. Выберите Создать → Центральный сервер 1С:Предприятия 8.3, если сервера в списке ещё нет.
  3. Введите имя сервера и порт агента, по умолчанию 1540.
  4. Раскройте сервер → Кластеры → нужный кластер (по умолчанию «Локальный кластер»).

Если кластер защищён паролем, консоль запросит учётные данные администратора кластера.

Шаг 2. Создайте информационную базу

  1. В кластере раскройте узел Информационные базы.
  2. Правой кнопкой по узлу → Создать → Информационная база.
  3. Заполните форму (поля описаны в таблице ниже).
  4. Нажмите ОК. Если стоит галочка создания базы данных, консоль создаст пустую БД на сервере СУБД. Это может занять до минуты.
ПолеЧто вписать
ИмяКороткое латиницей или кириллицей, без пробелов по краям. Это имя увидят пользователи в списке и в строке соединения (Ref=).
ОписаниеДля вашей же памяти: «Бухгалтерия, филиал Юг».
Защищённое соединениеОставьте «отключено», пока не настроен TLS на сервере.
Сервер баз данныхИмя или IP сервера СУБД.
Тип СУБДPostgreSQL, MS SQL Server, IBM DB2, Oracle Database.
База данныхИмя БД внутри СУБД. Может отличаться от имени в кластере, но удобнее держать одинаковым.
Пользователь сервера БД и парольУчётная запись СУБД, под которой сервер 1С работает с базой.
Смещение дат0 для новых баз. 2000 встречается в старых базах MS SQL. Значение должно совпадать с тем, что было при создании БД.
Блокировка регламентных заданийВключайте для копий и тестовых баз, чтобы они не запускали обмены и рассылки.
Создать базу данных в случае её отсутствияСтавьте, если БД ещё нет. Если подключаете готовую БД, галочку снимите.
Выдача лицензий сервером«Разрешить», если лицензии выдаёт сервер, а не клиентские машины.

Смещение дат нельзя менять после того, как в базе появились данные. Неверное значение при подключении существующей БД даёт сдвиг дат на 2000 лет или вовсе непонятные ошибки в документах.

Если вы подключаете уже существующую базу данных (например, развёрнутую из резервной копии), не ставьте «Создать базу данных». Консоль попробует создать БД с тем же именем и упадёт с ошибкой, а в худшем случае вы получите пустую базу рядом с рабочей.

Шаг 3. Проверьте, что база появилась

Новая база отображается в списке информационных баз кластера. Откройте её свойства и убедитесь, что тип СУБД, сервер и имя БД записаны верно. Затем добавьте её в список баз клиента 1С, строка соединения выглядит так:

Srvr="app-server";Ref="buh_main";

Если порт главного менеджера кластера не стандартный, его указывают через двоеточие: Srvr="app-server:1541";Ref="buh_main";.

Параметры подключения к СУБД: на чём спотыкаются

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

PostgreSQL

Для PostgreSQL нужна сборка, рекомендованная для 1С, поставляется с платформой или с дистрибутива поставщика. Обычный PostgreSQL из репозитория дистрибутива с базой 1С работает плохо или не работает . Проверьте также файл pg_hba.conf: в нём должна быть строка, разрешающая адрес сервера 1С для нужной роли.

Пример строки, которая пускает сервер 1С из подсети по паролю:

host    all    all    192.168.10.0/24    md5

После правки перезагрузите конфигурацию PostgreSQL. Саму службу перезапускать для этого не обязательно.

MS SQL Server

Для MS SQL проверьте, что включён протокол TCP/IP и разрешена проверка подлинности SQL Server (смешанный режим), если используете логин и пароль СУБД. Учётка нужна с правом dbcreator для создания баз и владельцем создаваемой БД для работы.

Что выбрать для имени учётной записи

Не используйте для 1С административную учётку СУБД (postgres, sa). Заведите отдельную роль под сервер 1С. Это нужно не ради красоты: при смене пароля администратора вы не остановите все базы кластера.

Добавление базы через rac и ras: для скриптов и автоматизации

Консоль удобна для одной-двух баз. Если баз десятки, или вы разворачиваете копии по расписанию, пригодятся утилиты администрирования rac и ras. Они лежат в каталоге bin установленной платформы.

Что есть что

  • ras — сервер удалённого администрирования, слушает порт 1545;
  • rac — клиент, который отправляет ему команды.

Запустите ras на сервере 1С:

ras cluster --port=1545 localhost:1540

Параметр localhost:1540 указывает на агент сервера. Для постоянной работы оформите ras как службу, а не как окно консоли.

Команды

Получите идентификатор кластера:

rac localhost:1545 cluster list

В выводе найдите поле cluster — длинный GUID. Подставьте его в команду создания базы:

rac localhost:1545 infobase --cluster=<GUID_кластера> create ^
  --name=buh_main --dbms=PostgreSQL --db-server=localhost ^
  --db-name=buh_main --locale=ru --db-user=1c_user --db-pwd=пароль ^
  --create-database --license-distribution=allow

Если кластер защищён, добавьте --cluster-user и --cluster-pwd. Опции расставляются прямо в строке команды, порядок параметров внутри не критичен, а вот подкоманда create идёт после infobase.

Проверить результат:

rac localhost:1545 infobase --cluster=<GUID_кластера> summary list

Появится строка с именем и идентификатором базы.

Храните пароль не в самом скрипте, а в переменной окружения или файле с ограниченным доступом. Команды с --db-pwd попадают в историю командной строки.

Чтобы удалить базу из кластера, используйте rac infobase drop, но сначала сделайте копию. У команды есть параметры, которые решают, удалять ли саму БД из СУБД: проверьте их в справке rac infobase drop --help до запуска.

Публикация базы на веб-сервере

Публикация нужна, если пользователи работают через браузер, тонкий клиент по HTTP или веб-сервисы. Для обычного тонкого клиента по TCP публикация не нужна.

Способ 1. Из конфигуратора

  1. Откройте базу в конфигураторе от имени администратора.
  2. Меню Администрирование → Публикация на веб-сервере.
  3. Выберите веб-сервер (IIS или Apache) и каталог публикации.
  4. Нажмите Опубликовать.

Способ 2. Утилитой webinst

Подходит для автоматизации. Пример для IIS:

webinst -publish -iis -wsdir buh_main -dir C:\inetpub\wwwroot\buh_main ^
  -connstr "Srvr=app-server;Ref=buh_main;"

Для Apache используется ключ -apache24 (или другой, под вашу версию сервера) и путь к httpd.conf через -confpath.

Что мешает публикации

  • 🔒 Нет прав у пользователя, под которым работает пул приложения IIS или сервис Apache, на каталог публикации.
  • 🧩 Не установлен модуль расширения веб-сервера, который идёт в составе платформы.
  • 🌐 Адрес в строке Srvr= не разрешается с веб-сервера.

После публикации откройте адрес http://имя-сервера/buh_main и проверьте вход.

Если база создана, но не работает: разбор ошибок

Диагностика: выберите симптом

Если ничего из перечисленного не помогло, смотрите журналы. Технологический журнал платформы и журнал самой СУБД обычно называют точную причину: «пароль не подошёл», «база не существует», «соединение отклонено». Включайте техжурнал на короткое время, он быстро растёт.

Когда базу лучше не создавать заново

Бывают случаи, когда «добавить базу в кластер» значит не создать новую, а подключить имеющуюся.

СитуацияЧто делать
Есть БД в СУБД, нужно показать её в кластереСоздайте информационную базу без галочки создания БД, укажите существующее имя.
Есть выгрузка .dtСоздайте пустую базу, затем загрузите .dt через конфигуратор («Администрирование → Загрузить информационную базу»).
Перенос на другой кластерСделайте копию БД средствами СУБД, разверните на новом сервере, подключите как существующую.
Нужна тестовая копияПодключите восстановленную копию и включите блокировку регламентных заданий.

Загрузка из .dt и подключение готовой БД дают одинаковый результат, но второе быстрее на больших базах: не нужно ждать развёртывания данных через конфигуратор.

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

Новая база ещё ни разу не копировалась, а уже работает. Исправьте это сразу.

  1. Настройте резервное копирование СУБД штатными средствами, не только выгрузку .dt.
  2. Заведите отдельного пользователя 1С с правами администратора и не используйте его для ежедневной работы.
  3. Запишите параметры подключения (сервер СУБД, имя БД, учётка, смещение дат) в документацию. Через год их никто не вспомнит, а нужны они будут именно при аварии.
  4. Для рабочей базы выключите блокировку регламентных заданий, если она оставалась включённой с тестового этапа.

Резервная копия и согласование с регламентом компании — перед любыми изменениями в рабочем кластере. Особенно перед удалением и переносом баз.

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

Сколько баз можно добавить в один кластер?
Жёсткого лимита на число баз нет. Ограничивают ресурсы сервера и лицензии. На практике нагрузку определяет число одновременных сеансов, а не количество баз.
Можно ли добавить базу без консоли?
Да, утилитой rac из командной строки. Подходит для скриптов и массового развёртывания.
Нужно ли перезапускать сервер 1С после добавления базы?
Нет. Новая база доступна сразу. Перезапуск понадобится только при изменении параметров самого кластера или портов.
Почему база есть в консоли, но не видна пользователям?
Список баз клиента 1С формируется на машине пользователя. Добавьте базу в список вручную со строкой Srvr=...;Ref=...; или раздайте список централизованно.
Файловую базу можно перенести в кластер?
Да. Выгрузите её в .dt из конфигуратора, создайте базу в кластере и загрузите выгрузку.
Как убрать базу из кластера, не удаляя данные?
Удалите информационную базу из кластера, не отмечая удаление базы данных в СУБД. Затем её можно подключить к другому кластеру.