Регистрация информационной базы в кластере 1С: консоль, rac и веб-публикация
Содержание
Базу добавляют в администрирование серверов 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С Предприятие 8 → Администрирование серверов 1С Предприятия. - Если сервер не на этом компьютере, щёлкните правой кнопкой по корневому узлу дерева и выберите
Создать → Центральный сервер 1С:Предприятия 8.3. - Укажите имя компьютера с сервером 1С, протокол TCP и порт 1540. Описание — по желанию.
- Раскройте сервер, затем
Кластерыи нужный кластер. На свежей установке он один и называетсяЛокальный кластер.
Создание новой базы
- Щёлкните правой кнопкой по ветке
Информационные базы→Создать→Информационная база. - Заполните поля формы:
| Поле | Что указать |
|---|---|
| Имя | Имя базы в кластере, латиницей, без пробелов |
| Описание | Понятное название для коллег |
| Защищенное соединение | Выключено, если не настроено шифрование |
| Сервер баз данных | Имя сервера или экземпляра СУБД |
| Тип СУБД | MSSQLServer, PostgreSQL, IBM DB2 или Oracle Database |
| База данных | Имя базы в СУБД |
| Пользователь и пароль сервера БД | Учётная запись СУБД |
| Разрешить выдачу лицензий сервером | Да, если используете серверные клиентские лицензии |
| Язык (страна) | Русский (Россия) |
| Смещение дат | 2000 для MS SQL, 0 для PostgreSQL |
- Отметьте «Создать базу данных в случае ее отсутствия».
- Нажмите
OK. База появится в списке, в СУБД создастся пустая база данных.
Пустую базу дальше наполняют в Конфигураторе: загружают выгрузку .dt или конфигурацию .cf.
Регистрация уже существующей базы данных
Это частый случай при переезде на новый сервер 1С: база данных на SQL жива, нужно лишь «показать» её кластеру.
Форма та же, но флажок «Создать базу данных в случае ее отсутствия» снимите. Имя базы данных, тип СУБД и смещение дат укажите точно такие, какие были на старом сервере. При неверном смещении дат все даты в документах уедут на 2000 лет.
Если регистрируете копию рабочей базы для тестов, отметьте «Установить блокировку регламентных заданий». Иначе копия начнёт выгружать данные в обмены, отправлять отчётность и забирать почту наравне с рабочей базой.
Как добавить базу в кластер из окна запуска 1С
Добавить базу на сервер можно без консоли — из клиента 1С. Создание серверной базы через окно запуска тоже регистрирует её в кластере.
- В окне запуска нажмите
Добавить. - Выберите «Создание новой информационной базы», затем шаблон или пустую базу.
- Укажите вариант расположения «На сервере 1С:Предприятия».
- Заполните «Кластер серверов
1С:Предприятия» (имя сервера, при нестандартном порте —
srv1c:1641), «Имя информационной базы в кластере», параметры СУБД и смещение дат. - Оставьте флажок «Создать базу данных в случае ее отсутствия» и завершите мастер.
Если указать в мастере вариант «Добавление в список существующей информационной базы», 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платформы.
Через Конфигуратор
- Запустите Конфигуратор от имени администратора Windows и откройте серверную базу .
- Выберите
Администрирование → Публикация на веб-сервере. - Укажите имя публикации (оно станет частью адреса, например
http://web/buh_test), веб-сервер и каталог. - Нажмите «Опубликовать» и согласитесь на перезапуск веб-сервера.
Через 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С не видит СУБД, клиент не видит базу. Найдите свой симптом.
Частые вопросы
Что произойдёт с данными, если удалить базу из кластера?
Можно ли переименовать базу в кластере?
Сколько баз можно добавить в один кластер?
Нужна ли лицензия сервера 1С, чтобы добавить базу?
Как перенести базу с одного сервера 1С на другой?
.dt и загрузите в новую пустую базу.