Регистрация информационной базы в кластере 1С: консоль, rac и веб-публикация

· 9 мин

Содержание

Базу добавляют в администрирование серверов 1С через консоль: раскройте сервер → Кластеры → нужный кластер → Информационные базы, в контекстном меню выберите Создать → Информационная база и заполните имя базы, тип СУБД, сервер и имя базы данных. Если база данных на SQL-сервере уже есть, снимите флажок «Создать базу данных в случае ее отсутствия» — 1С подключится к существующим таблицам.

Тот же результат дают окно запуска 1С и утилита rac. Ниже разобраны все три способа, публикация серверной базы на веб-сервере, права доступа и разбор ошибок. Порядок одинаков для 1С 8.3 на Windows и Linux, различаются только пути к файлам.

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

Сама регистрация занимает минуту. Время уходит на то, что не проверили заранее. Пройдитесь по списку до открытия консоли.

  • 🖥️ Версия платформы. Консоль, клиент и сервер должны быть одной версии вплоть до четвёртой цифры номера. Консоль от 8.3.24 к серверу 8.3.25 не подключится.
  • 🗄️ СУБД. Запомните точное имя экземпляра SQL-сервера (например, SRV-SQL\SQL2019) или адрес PostgreSQL, логин и пароль пользователя СУБД.
  • 🔑 Права пользователя СУБД. Чтобы 1С сама создала базу, пользователю нужно право на создание баз (в MS SQL — роль dbcreator). Для подключения к готовой базе хватит роли db_owner в ней.
  • 👤 Администратор кластера. Если в кластере заданы администраторы, понадобятся их логин и пароль. Без них консоль не даст создать базу.
  • 🔌 Порты. Между клиентом и сервером 1С открыты 1540 (агент), 1541 (менеджер кластера) и диапазон рабочих процессов, по умолчанию 1560–1591. Для ras добавьте 1545.

Имя базы в кластере и имя базы данных в СУБД — разные вещи. Первое пользователи вводят при подключении, второе видит только администратор SQL. Удобно делать их одинаковыми, например buh_ooo_romashka, но это не обязательно.

Добавление информационной базы в консоли администрирования серверов

Если консоль не открывается или пустая

Консоль администрирования — это оснастка MMC. Она работает через библиотеку radmin.dll из каталога платформы. При обновлении платформы библиотека остаётся зарегистрированной от старой версии, и консоль выдаёт ошибку или не видит кластер.

Лечится перерегистрацией из командной строки, запущенной от имени администратора:

regsvr32 "C:\Program Files\1cv8\8.3.25.1374\bin\radmin.dll"

Номер версии в пути подставьте свой — тот же, что у службы сервера 1С. Чтобы убрать регистрацию старой версии, выполните regsvr32 /u для её radmin.dll.

Подключение к серверу

  1. Откройте Пуск → 1С Предприятие 8 → Администрирование серверов 1С Предприятия.
  2. Если сервер не на этом компьютере, щёлкните правой кнопкой по корневому узлу дерева и выберите Создать → Центральный сервер 1С:Предприятия 8.3.
  3. Укажите имя компьютера с сервером 1С, протокол TCP и порт 1540. Описание — по желанию.
  4. Раскройте сервер, затем Кластеры и нужный кластер. На свежей установке он один и называется Локальный кластер.

Создание новой базы

  1. Щёлкните правой кнопкой по ветке Информационные базы → Создать → Информационная база.
  2. Заполните поля формы:
ПолеЧто указать
ИмяИмя базы в кластере, латиницей, без пробелов
ОписаниеПонятное название для коллег
Защищенное соединениеВыключено, если не настроено шифрование
Сервер баз данныхИмя сервера или экземпляра СУБД
Тип СУБДMSSQLServer, PostgreSQL, IBM DB2 или Oracle Database
База данныхИмя базы в СУБД
Пользователь и пароль сервера БДУчётная запись СУБД
Разрешить выдачу лицензий серверомДа, если используете серверные клиентские лицензии
Язык (страна)Русский (Россия)
Смещение дат2000 для MS SQL, 0 для PostgreSQL
  1. Отметьте «Создать базу данных в случае ее отсутствия».
  2. Нажмите OK. База появится в списке, в СУБД создастся пустая база данных.

Пустую базу дальше наполняют в Конфигураторе: загружают выгрузку .dt или конфигурацию .cf.

Регистрация уже существующей базы данных

Это частый случай при переезде на новый сервер 1С: база данных на SQL жива, нужно лишь «показать» её кластеру.

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

Если регистрируете копию рабочей базы для тестов, отметьте «Установить блокировку регламентных заданий». Иначе копия начнёт выгружать данные в обмены, отправлять отчётность и забирать почту наравне с рабочей базой.

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

Добавить базу на сервер можно без консоли — из клиента 1С. Создание серверной базы через окно запуска тоже регистрирует её в кластере.

  1. В окне запуска нажмите Добавить.
  2. Выберите «Создание новой информационной базы», затем шаблон или пустую базу.
  3. Укажите вариант расположения «На сервере 1С:Предприятия».
  4. Заполните «Кластер серверов 1С:Предприятия» (имя сервера, при нестандартном порте — srv1c:1641), «Имя информационной базы в кластере», параметры СУБД и смещение дат.
  5. Оставьте флажок «Создать базу данных в случае ее отсутствия» и завершите мастер.

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

Права администратора кластера при этом тоже нужны: мастер спросит их, если администраторы заданы.

Добавление баз через утилиты ras и rac

Консоль удобна для одной базы. Когда баз десятки или сервер на Linux без графики, работают через пару утилит: ras (сервер администрирования) и rac (клиент командной строки). Обе лежат в каталоге bin платформы, на Linux — в /opt/1cv8/x86_64/<версия>/.

Запуск ras

ras подключается к агенту кластера на порт 1540 и сам слушает 1545. Для разового запуска:

"C:\Program Files\1cv8\8.3.25.1374\bin\ras.exe" cluster --port=1545 localhost:1540

Чтобы не держать окно открытым, ras регистрируют службой Windows:

sc create "1C:Enterprise 8.3 Remote Server" binPath= "\"C:\Program Files\1cv8\8.3.25.1374\bin\ras.exe\" cluster --service --port=1545 localhost:1540" start= auto DisplayName= "Сервер администрирования 1С 8.3"

На Linux в комплекте платформы для этого есть юнит systemd, его включают штатными командами systemctl.

Команды rac

Сначала узнайте идентификатор кластера:

rac localhost:1545 cluster list

Скопируйте значение поля cluster. Посмотреть зарегистрированные базы:

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

Создать базу вместе с базой данных на MS SQL:

rac localhost:1545 infobase create --cluster=<uuid-кластера> --create-database --name=buh_test --dbms=MSSQLServer --db-server=SRV-SQL --db-name=buh_test --locale=ru --db-user=sa1c --db-pwd=Пароль --date-offset=2000 --license-distribution=allow --scheduled-jobs-deny=on

Для регистрации существующей базы данных уберите --create-database. Если в кластере есть администраторы, добавьте --cluster-user и --cluster-pwd. Полный список параметров выводит rac help infobase.

Команду rac легко завернуть в bat- или bash-скрипт с циклом по списку баз. Так переносят 20–30 баз на новый сервер за несколько минут вместо часа щелчков в консоли.

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

Публикация нужна, чтобы открыть базу через браузер, тонкий клиент по HTTP или мобильное приложение. Серверная база публикуется так же, как файловая. Разница только в строке соединения.

Что должно быть на веб-сервере:

  • 🧩 компонент «Модули расширения веб-сервера» той же версии, что и сервер 1С;
  • 🌐 IIS с ролью ISAPI-расширений или Apache 2.4;
  • 🔐 у учётной записи веб-сервера (в IIS — группа IIS_IUSRS) права на чтение и выполнение каталога bin платформы.

Через Конфигуратор

  1. Запустите Конфигуратор от имени администратора Windows и откройте серверную базу .
  2. Выберите Администрирование → Публикация на веб-сервере.
  3. Укажите имя публикации (оно станет частью адреса, например http://web/buh_test), веб-сервер и каталог.
  4. Нажмите «Опубликовать» и согласитесь на перезапуск веб-сервера.

Через webinst

Без Конфигуратора публикацию делает утилита webinst из того же каталога bin. Пример для Apache 2.4:

webinst -publish -apache24 -wsdir buh_test -dir "C:\Apache24\htdocs\buh_test" -connstr "Srvr=srv1c;Ref=buh_test;" -confpath "C:\Apache24\conf\httpd.conf"

Для IIS вместо -apache24 и -confpath укажите ключ -iis. В строке Srvr — сервер 1С, в Ref — имя базы в кластере, а не имя базы в СУБД.

Перезапуск веб-сервера оборвёт сеансы всех, кто уже работает через браузер с другими опубликованными базами. Публикуйте в обед или после рабочего дня.

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

Новая база в кластере доступна любому, кто знает имя сервера и базы и имеет учётную запись в самой 1С. Закройте лишнее сразу.

Что настроитьГдеЗачем
Администраторы центрального сервераСервер → АдминистраторыБез них любой с консолью управляет сервером
Администраторы кластераКластер → АдминистраторыЗащищают создание и удаление баз
Пользователь СУБДSQL Server Management Studio или pgAdminОтдельный логин с db_owner на свою базу вместо sa
Пользователи 1СКонфигуратор или Администрирование → Настройки пользователей и правБез пользователей база пускает всех
Блокировка регламентных заданийСвойства базы в консолиДля копий и тестовых баз

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

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

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

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

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

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

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

Что произойдёт с данными, если удалить базу из кластера?
При удалении консоль спрашивает, что делать с базой данных: удалить её, очистить или оставить без изменений. Выберите «оставить», и данные на SQL-сервере сохранятся. Базу потом можно зарегистрировать заново.
Можно ли переименовать базу в кластере?
Да, в свойствах базы в консоли меняется поле «Имя». После этого обновите строку соединения у всех пользователей и в веб-публикации: со старым именем они получат ошибку «база не обнаружена».
Сколько баз можно добавить в один кластер?
Жёсткого лимита на число баз нет. Ограничение задают память и процессор сервера: каждая активная база держит свои данные в рабочих процессах. Десятки небольших баз на одном кластере — обычная практика.
Нужна ли лицензия сервера 1С, чтобы добавить базу?
Регистрация базы лицензию не проверяет. Но без лицензии на сервер 1С:Предприятия рабочие процессы не будут обслуживать клиентов, и войти в базу не получится.
Как перенести базу с одного сервера 1С на другой?
Если СУБД остаётся та же, зарегистрируйте существующую базу данных в новом кластере с теми же параметрами и удалите регистрацию в старом, оставив данные. Если меняется и СУБД, выгрузите базу в .dt и загрузите в новую пустую базу.