Серверная база 1С: от службы агента до входа пользователей
Содержание
Чтобы подключить базу 1С на сервере, нужны три вещи: работающая служба агента сервера 1С 8.3, информационная база, зарегистрированная в кластере, и строка подключения на клиенте вида Srvr="имя_сервера";Ref="имя_базы";. Клиент находит агент по порту 1540, дальше его ведут менеджер кластера (1541) и рабочие процессы (по умолчанию 1560–1591).
Частое заблуждение — что достаточно положить файловую базу в общую папку на сервере. Это не клиент-серверный режим: так база остаётся файловой, просто лежит на другом компьютере. Настоящая серверная база хранится в СУБД (MS SQL Server или PostgreSQL), а пользователи работают с ней через кластер 1С.
Что подготовить на сервере до установки
Сначала проверьте окружение. Половину проблем при подключении создаёт не сама 1С, а сеть и права.
📌 Что нужно:
- 🖥️ Сервер под Windows Server 2016 или новее либо под Linux. Ниже шаги для Windows, логика для Linux та же.
- 🗄️ СУБД: MS SQL Server или PostgreSQL в сборке для 1С (обычный PostgreSQL без патчей 1С не подойдёт).
- 🔑 Учётная запись СУБД с правом создавать базы: в MS SQL — роль
dbcreatorилиsysadmin, в PostgreSQL — пользователь с правомCREATEDB(часто этоpostgres). - 📦 Дистрибутив платформы той же версии, что будет стоять на клиентах. Номер должен совпадать полностью, вплоть до последней цифры сборки.
- 🎫 Лицензия на сервер 1С:Предприятия. Без неё рабочие процессы не примут подключения.
- 🌐 Постоянное имя сервера в DNS или в файле
hostsна каждом клиенте.
Порты, которые должен пропустить брандмауэр
| Порт | Что слушает | Где задаётся |
|---|---|---|
| 1540 | Агент сервера (ragent) | Параметры службы |
| 1541 | Менеджер кластера (rmngr) | Параметры службы и свойства кластера |
| 1560–1591 | Рабочие процессы (rphost) | Свойства рабочего сервера в консоли |
| 1433 / 5432 | MS SQL / PostgreSQL | Настройки СУБД (только если СУБД на другой машине) |
Откройте входящие правила для TCP на этих портах. Диапазон рабочих процессов нельзя урезать до одного порта: каждому процессу нужен свой.
Если на одной машине работают два кластера разных версий, у второго меняют все три параметра: порт агента, порт менеджера и диапазон. Например, 2540, 2541 и 2560:2591.
Установка сервера и запуск службы агента
Запустите setup.exe из дистрибутива серверной платформы (x86-64). В списке компонентов отметьте:
- «Сервер 1С:Предприятия 8».
- «Администрирование сервера 1С:Предприятия» — это консоль кластера.
- «1С:Предприятие 8» (толстый и тонкий клиент) — пригодится, чтобы загрузить базу прямо на сервере.
На следующем шаге установщик спросит, ставить ли сервер как службу Windows. Отметьте этот вариант и выберите пользователя. По умолчанию создаётся локальный USR1CV8. Если база данных будет на другой машине и вы используете доменную аутентификацию, лучше заранее завести доменную служебную учётку.
После установки проверьте службу в services.msc. Она называется «Агент сервера 1С:Предприятия 8.3 (x86-64)» (в английской локализации — 1C:Enterprise 8.3 Server Agent (x86-64)). Тип запуска — «Автоматически», состояние — «Выполняется».
В свойствах службы видна строка запуска. Примерно такая:
"C:\Program Files\1cv8\8.3.25.1374\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
Здесь всё, что нужно знать о службе: порты, диапазон и каталог srvinfo, где кластер хранит свой реестр. У учётной записи службы должны быть права на запись в этот каталог.
Если служба стартует и сразу останавливается, первым делом проверьте права USR1CV8 на srvinfo и не занят ли порт 1540 другой программой: netstat -ano | findstr 1540.
Регистрация консоли администрирования
Консоль кластера — оснастка MMC. Она не заработает, пока не зарегистрирована библиотека radmin.dll той же версии, что сервер. В меню «Пуск» есть ярлык «Регистрация утилиты администрирования серверов». Запустите его от имени администратора.
Тот же результат даёт команда:
regsvr32 "C:\Program Files\1cv8\8.3.25.1374\bin\radmin.dll"
Этот шаг повторяют после каждого обновления платформы на сервере. Иначе консоль либо не открывается, либо выдаёт ошибку несовпадения версий.
Регистрация базы 1С в кластере сервера
Откройте «Администрирование серверов 1С Предприятия». В дереве слева щёлкните правой кнопкой по корню «Central 1C:Enterprise 8.3 servers» и выберите создание нового центрального сервера. Укажите имя компьютера, протокол TCP и порт 1540.
В дереве появится сервер, под ним — «Кластеры», а в них — «Локальный кластер», который установщик создал сам. Дальше:
- Раскройте кластер, правой кнопкой по ветке «Информационные базы» → «Создать» → «Информационная база».
- Имя — как база будет называться в кластере. Латиница без пробелов, например
buh_ooo_romashka. Это имя клиенты вписывают в поле «Имя информационной базы в кластере». - Защищённое соединение — пока «выключено», к нему вернёмся ниже.
- Сервер баз данных — имя машины с СУБД. Для именованного экземпляра MS SQL:
SQLSRV\INSTANCE. - Тип СУБД —
MSSQLServerилиPostgreSQL. - База данных — имя базы в СУБД. Удобно делать его равным имени в кластере.
- Пользователь сервера БД и Пароль — та самая учётка с правом создавать базы.
- Смещение дат — для MS SQL ставят 2000, для PostgreSQL оставляют 0.
- Флажок «Создать базу данных в случае её отсутствия» — включите, если базы в СУБД ещё нет.
- Флажок «Разрешить выдачу лицензий сервером 1С:Предприятия» — включите, если клиентские лицензии стоят на сервере, а не на рабочих местах.
Нажмите ОК. Если что-то не так с СУБД, ошибка появится сразу: консоль пробует подключиться к базе в момент создания.
Как перенести в серверную базу существующие данные
Пустая база ещё не рабочая. Данные из файловой или другой серверной базы переносят выгрузкой .dt:
- В исходной базе: Конфигуратор →
Администрирование → Выгрузить информационную базу. - Подключитесь к новой серверной базе в Конфигураторе (как добавить её в список — в разделе про клиент).
Администрирование → Загрузить информационную базу, выберите файл.dt.
Загрузка .dt полностью заменяет содержимое базы-приёмника. Проверьте, что подключились именно к новой пустой базе, а не к рабочей. Для загрузки нужен монопольный доступ, поэтому в базе не должно быть других сеансов.
Базу можно создать и без консоли — из окна запуска клиента: «Добавить» → «Создание новой информационной базы» → тип расположения «На сервере 1С:Предприятия». Поля там те же самые. Но удобнее завести базу в консоли: сразу видно, в какой кластер она попала.
Настройки соединения и безопасности кластера
Свежий кластер открыт всем: любой, у кого есть консоль, может удалить базу или поменять её параметры. Закройте это сразу.
Администраторы
- 👤 Администраторы центрального сервера — ветка «Администраторы» под самим сервером в консоли. Пока список пуст, управлять агентом может любой.
- 👥 Администраторы кластера — ветка «Администраторы» внутри кластера. Они управляют базами, сеансами, рабочими процессами.
Добавьте по одному администратору в обе ветки. Можно с паролем, можно с аутентификацией ОС.
Запишите пароли администраторов в хранилище паролей компании. Если пароль кластера потерян, сбрасывать его придётся остановкой службы и восстановлением файлов реестра кластера из резервной копии. Остановка службы обрывает все сеансы пользователей — делайте это вне рабочего времени.
Параметры конкретной базы
В свойствах информационной базы (двойной щелчок по ней в консоли) есть настройки, которые нужны в работе:
| Параметр | Зачем |
|---|---|
| Защищённое соединение | Шифрование трафика между клиентом и сервером. Режим «только соединение» шифрует установку связи, «постоянно» — весь обмен |
| Блокировка начала сеансов | Не пускает новых пользователей на время обновления. Можно задать время и текст сообщения |
| Код разрешения | Пароль, который позволяет администратору зайти при включённой блокировке |
| Блокировка регламентных заданий | Отключает фоновые задания. Обязательно для копии рабочей базы, чтобы она не отправляла отчёты и не качала банк |
| Разрешить выдачу лицензий сервером | Брать клиентские лицензии с сервера |
Не путайте администраторов кластера с пользователями самой базы. Список пользователей ведётся внутри конфигурации: в Конфигураторе или в разделе администрирования прикладного решения.
Права в СУБД
Учётка с sysadmin удобна для создания, но в работе лишняя. После создания базы можно оставить кластеру пользователя СУБД с ролью db_owner только на свою базу. Тогда ошибка в одной базе не тронет соседние.
Подключение клиента к серверной базе
На рабочем месте должна стоять платформа той же версии, что и на сервере. Затем:
- Запустите 1С, в окне запуска нажмите «Добавить».
- Выберите «Добавление в список существующей информационной базы».
- Введите понятное пользователю название, например «Бухгалтерия Ромашка».
- Тип расположения — «На сервере 1С:Предприятия».
- Кластер серверов
1С:Предприятия — имя сервера. Если кластер на нестандартном порту, указывают порт менеджера:
SRV1C:2541. - Имя информационной базы в кластере — точно то имя, что задано в консоли (
buh_ooo_romashka). - Режим запуска и версию оставьте по умолчанию, нажмите «Готово».
Строку подключения можно раздать пользователям готовой. Она видна в окне запуска под списком баз и используется в командной строке:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S "SRV1C\buh_ooo_romashka"
Для большого числа рабочих мест список баз раздают общим файлом .v8i. Его подключают в настройках окна запуска как общий список. Тогда новую базу добавляют один раз, и она появляется у всех.
Если клиентов разной разрядности или версий
Клиент 32 или 64 бита — неважно, он может работать с 64-битным сервером. А вот номер версии платформы должен совпадать с сервером. Когда после обновления сервера клиенты не входят, причина почти всегда в этом.
В свойствах базы в окне запуска можно указать конкретную версию платформы в поле «Версия 1С:Предприятия». Это помогает, если на компьютере стоит несколько версий, а нужная — не самая новая.
Почему не подключается: диагностика и журналы
Проверяйте снизу вверх: сеть → служба → кластер → СУБД → лицензии.
Сеть и имя сервера
Самая частая проблема — клиент не может разрешить имя сервера. Агент возвращает клиенту адрес рабочего процесса по тому имени, под которым рабочий сервер записан в кластере. Если клиент подключается по IP, а в кластере сервер записан как SRV1C, клиенту всё равно нужно знать SRV1C.
Проверка с клиента в PowerShell:
Test-NetConnection SRV1C -Port 1540
Test-NetConnection SRV1C -Port 1541
Test-NetConnection SRV1C -Port 1560
Если имя не разрешается, а DNS поправить нельзя, добавьте строку в C:\Windows\System32\drivers\etc\hosts на клиенте:
192.168.10.15 SRV1C
Порт 1560 отвечает, только когда запущен хотя бы один рабочий процесс. Если 1540 и 1541 открыты, а 1560 нет — смотрите брандмауэр сервера и свойства рабочего сервера.
Сообщения об ошибках и что они значат
Где смотреть журналы
- 📋 Журнал событий Windows → «Приложение». Агент и менеджер кластера пишут туда ошибки запуска.
- 🧾 Технологический журнал — включается файлом
logcfg.xmlв каталогеconfплатформы (C:\Program Files\1cv8\conf\). Пишет подробно всё, что происходит с соединениями, но быстро растёт. Включайте на время диагностики и задавайте срок хранения. - 📒 Журнал регистрации базы — в самой 1С. Полезен, когда клиент уже вошёл, но падает при работе.
- 🖥️ Консоль кластера → ветки «Сеансы» и «Соединения». Видно, кто сидит в базе и занимает лицензии.
Перезапуск службы агента или завершение рабочего процесса обрывает сеансы всех пользователей всех баз кластера. Несохранённые данные пропадут. Перезапускайте службу в нерабочее время или после предупреждения пользователей.
Частые вопросы
Можно ли держать 1С и СУБД на разных серверах?
Сколько баз можно зарегистрировать в одном кластере?
Можно ли подключиться к серверной базе через интернет?
Чем серверная база лучше файловой в общей папке?
1Cv8.1CD, и позволяет делать резервные копии средствами СУБД без остановки работы.