Серверная база 1С с нуля: СУБД, кластер, первая информационная база и тонкая настройка
Содержание
Чтобы установить серверную базу
1С, нужны три вещи в таком порядке: СУБД (MS SQL Server или PostgreSQL в сборке для 1С), сервер 1С:Предприятия 8.3 с запущенной службой агента и лицензия на сервер. Базу создают из окна запуска: Добавить → Создание новой информационной базы → На сервере 1С:Предприятия, указав кластер, сервер СУБД и учётную запись СУБД.
Порядок важен: СУБД ставят первой, сервер 1С — второй, базу создают последней. Если перепутать шаги, 1С не сможет создать базу данных и выдаст ошибку подключения к СУБД. Команды в инструкции даны для Windows Server 2016 и новее и для Linux на systemd.
1. Что решить до установки сервера 1С
Выбор СУБД
От выбора СУБД зависят стоимость, сопровождение и то, на какой ОС будет жить сервер.
| СУБД | Когда выбирать | Что учесть |
|---|---|---|
| MS SQL Server | Windows-инфраструктура, уже есть админ SQL | Лицензия SQL Server; Express ограничен по объёму базы и памяти — для рабочей базы не подходит |
| PostgreSQL (сборка для 1С) | Linux или экономия на лицензиях СУБД | Нужна именно сборка с патчами для 1С, а не ванильный PostgreSQL из репозитория |
| Postgres Pro | Нужна поддержка вендора, крупные базы | Платная редакция, сертифицированные сборки |
| IBM Db2, Oracle | Только если уже есть в компании | Редко встречаются, мало специалистов |
💡 Ставить сервер 1С и СУБД на одну машину нормально для 10–50 пользователей. Обмен между ними идёт локально, без сетевых задержек.
Требования к оборудованию
Цифры ниже — ориентир для типовых конфигураций (БП, ЗУП, УТ). Для ERP и баз от 100 ГБ планируйте с запасом.
| Пользователей | ЦП | ОЗУ (1С + СУБД на одной машине) | Диски |
|---|---|---|---|
| до 10 | 4 ядра | 16 ГБ | SSD, 2 тома: система и данные |
| 10–30 | 6–8 ядер | 32 ГБ | SSD/NVMe, отдельный том под журналы СУБД |
| 30–80 | 12–16 ядер | 64 ГБ | NVMe, RAID 10 |
- ⚡ Важнее частота ядра, чем их число: многие операции 1С идут в один поток.
- 💾 Под базы,
tempdb(или WAL у PostgreSQL) и резервные копии — разные тома. - 🔑 Лицензия: нужна лицензия на сервер 1С:Предприятия и клиентские лицензии на сеансы. Без лицензии сервер базу не запустит, исключение — учебная версия.
Учётная запись для службы
На Windows заранее создайте локального пользователя, например USR1CV8. Ему нужны права «Вход в качестве службы» и полный доступ к каталогу данных кластера srvinfo. Делать службу от имени администратора домена не нужно.
2. Установка СУБД для серверной базы 1С
MS SQL Server
- Запустите установщик, выберите компонент «Службы ядра СУБД».
- Режим проверки подлинности — смешанный: 1С подключается по логину SQL.
- Параметры сортировки —
Cyrillic_General_CI_AS. Поменять её потом на уже созданной базе сложно. - Задайте пароль пользователя
saили создайте отдельный логин для 1С с рольюdbcreator— тогда 1С сама создаст базу. - В свойствах сервера ограничьте «Максимальный объём памяти сервера», оставив ОС и процессам 1С 6–8 ГБ. Без этого SQL Server заберёт почти всю память.
- Для
tempdbсоздайте несколько файлов данных одинакового размера: по одному на ядро, но не больше восьми.
PostgreSQL на Linux
Сборки PostgreSQL для 1С берут на портале поддержки фирмы 1С или у Postgres Professional. Перед установкой проверьте локаль системы:
locale -a | grep ru_RU
sudo locale-gen ru_RU.UTF-8
sudo update-locale LANG=ru_RU.UTF-8
После установки пакетов задайте пароль пользователю postgres:
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD 'СложныйПароль';"
Если СУБД стоит на другой машине, в pg_hba.conf разрешите подключение с адреса сервера 1С, а в postgresql.conf — параметр listen_addresses. Основные параметры памяти (shared_buffers, effective_cache_size, work_mem) подбирайте под объём ОЗУ: shared_buffers обычно около 25% памяти.
Ванильный PostgreSQL без патчей 1С создать базу даст, но на части запросов будут ошибки и медленная работа. Для рабочей базы используйте только сборку для 1С.
3. Установка сервера 1С:Предприятия 8.3 и запуск службы
На Windows
Запустите setup.exe из дистрибутива технологической платформы (полный дистрибутив для 64-разрядного сервера). В списке компонентов отметьте:
- 🖥 «1С:Предприятие 8» — клиент, понадобится для создания базы и Конфигуратора;
- ⚙️ «Сервер 1С:Предприятия 8»;
- 🧰 «Администрирование сервера 1С:Предприятия» — консоль кластера.
На шаге установки сервера выберите «Установить сервер
1С:Предприятия 8 как сервис Windows» и укажите пользователя USR1CV8 с паролем. Служба появится под именем «Агент сервера 1С:Предприятия 8.3 (x86-64)» с типом запуска «Автоматически».
Если служба не создалась или её нужно пересоздать с другими портами, зарегистрируйте её вручную из каталога bin установленной версии:
cd "C:\Program Files\1cv8\8.3.xx.xxxx\bin"
ragent.exe -rmsrvc
ragent.exe -instsrvc -usr .\USR1CV8 -pwd Пароль -port 1540 -regport 1541 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
ragent.exe -start
ragent.exe -rmsrvc удаляет службу, а её остановка обрывает все сеансы. Делайте это, когда в базах никто не работает.
Консоль администрирования не увидит сервер, пока не зарегистрирована библиотека radmin.dll нужной версии. Это первое, что проверяют, когда оснастка пустая или выдаёт ошибку класса:
regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"
После обновления платформы регистрацию повторяют для новой версии.
На Linux
С платформы 8.3.20 сервер ставится единым установщиком setup-full-<версия>-x86_64.run: графический мастер или режим --mode unattended с ключом --enable-components. Список доступных компонентов покажет --help.
В новых версиях вместе с сервером поставляется unit-файл systemd. Его подключают и включают в автозапуск:
sudo systemctl link /opt/1cv8/x86_64/<версия>/srv1cv8-<версия>@.service
sudo systemctl enable --now srv1cv8-<версия>@default
sudo systemctl status srv1cv8-<версия>@default
Открываем порты
Клиент сначала обращается к агенту (1540), затем к менеджеру кластера (1541) и рабочим процессам из диапазона 1560–1591. Этот диапазон задаётся в свойствах рабочего сервера. Все три должны быть открыты на брандмауэре:
netsh advfirewall firewall add rule name="1C Server" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591
4. Кластер серверов 1С: консоль и проверка
При установке службы кластер по умолчанию («Локальный кластер», порт 1541) создаётся автоматически. Проверьте его:
- Откройте «Администрирование серверов 1С Предприятия».
- В корне «Central 1C:Enterprise 8.3 servers» создайте «Центральный сервер 1С:Предприятия» с именем машины и портом 1540.
- Разверните его: должен появиться кластер и в нём «Рабочие серверы» с одной записью.
- В свойствах кластера задайте администратора. Пока он не задан, управлять кластером может любой, у кого есть доступ к порту.
На Linux консоль заменяют утилитой rac, которая работает через сервер администрирования ras. Проверить кластер:
/opt/1cv8/x86_64/<версия>/ras cluster --daemon
/opt/1cv8/x86_64/<версия>/rac cluster list
💡 Пароль администратора кластера запишите в хранилище паролей сразу. Если его потеряют, придётся останавливать службу и восстанавливать файлы кластера из резервной копии.
5. Создание серверной базы 1С
Запустите клиент 1С и в окне запуска нажмите Добавить → Создание новой информационной базы. Выберите пустую базу (для загрузки .dt) или базу из шаблона конфигурации, затем вариант «На сервере 1С:Предприятия».
Поля формы:
| Поле | Что указать |
|---|---|
| Кластер серверов 1С:Предприятия | Имя сервера 1С; если порт не 1541 — server:1641 |
| Имя информационной базы в кластере | Латиница без пробелов, например buh_ooo_romashka |
| Тип СУБД | MS SQL Server или PostgreSQL |
| Сервер баз данных | Имя сервера СУБД; для именованного экземпляра SQL — server\instance |
| Имя базы данных | Обычно совпадает с именем в кластере |
| Пользователь и пароль сервера БД | sa/postgres или отдельный логин для 1С |
| Смещение дат | Для MS SQL Server — 2000 |
Отметьте «Создать базу данных в случае её отсутствия». Если базу будут наполнять из .dt, включите и «Установить блокировку регламентных заданий». Иначе регламентные задания (обмены, загрузка курсов) запустятся на копии и могут, например, отправить данные в рабочую базу или в сервисы.
После создания база появится в консоли кластера в узле «Информационные базы». Загрузку копии делают через Конфигуратор: Администрирование → Загрузить информационную базу. Для этой операции нужен монопольный доступ.
6. Настройка производительности сервера 1С и серверной базы
Технологический журнал
Технологический журнал включают файлом logcfg.xml в каталоге conf платформы, например C:\Program Files\1cv8\conf\. Сервер подхватывает изменения без перезапуска. Минимальная настройка для поиска исключений и долгих блокировок:
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="D:\1c_techlog" history="24">
<event><eq property="name" value="EXCP"/></event>
<event><eq property="name" value="TTIMEOUT"/></event>
<event><eq property="name" value="TDEADLOCK"/></event>
<property name="all"/>
</log>
</config>
history="24" хранит логи 24 часа. Без ограничения журнал быстро займёт диск, поэтому подробные события включайте на время расследования.
Журнал регистрации
Журнал регистрации каждой базы лежит в каталоге кластера srvinfo\reg_1541\<GUID базы>\1Cv8Log. На активной базе он растёт на гигабайты. В Конфигураторе: Администрирование → Настройка журнала регистрации — уровень логирования и сокращение журнала с выгрузкой старых записей в файл.
Мониторинг
- 📊 Счётчики Windows: загрузка ЦП, очередь диска, свободная память, ожидания на
tempdb. - 👥 Консоль кластера: число сеансов, соединений, память рабочих процессов, «Блокировки».
- 🔐
rac session list --licensesпокажет, кто занимает лицензии.
Фоновые задания
Если регламентные задания (обмены, пересчёты итогов) мешают пользователям днём, перенесите их расписание на ночь. При двух и более рабочих серверах в кластере задайте «Требования назначения функциональности» в свойствах рабочего сервера: так фоновые задания будут выполняться на одном сервере, а клиентские соединения — на другом.
Сеть, файловая система, лимиты
- 🌐 Сервер 1С и СУБД — в одной подсети, лучше на одной машине. Задержка между ними сильнее влияет на скорость, чем ЦП.
- ⚡ На Windows включите схему электропитания «Высокая производительность».
- 🛡 Исключите из проверки антивируса каталог
srvinfo, файлы данных и журналов СУБД, каталог технологического журнала. - 💾 На Linux для томов с данными используйте ext4 или XFS с опцией
noatime. - 📂 Поднимите лимит открытых файлов для службы: для systemd —
LimitNOFILE=65536в override-файле черезsystemctl edit srv1cv8-<версия>@, для PostgreSQL — аналогично.
7. Проверка серверной базы после установки
Прежде чем пускать людей, убедитесь, что база цела и работает:
- 🔍 Запустите базу в режиме 1С:Предприятие под администратором, откройте пару журналов документов и отчётов.
- 🧪 В Конфигураторе выполните
Администрирование → Тестирование и исправлениес отметкой «Проверка логической целостности», без исправления. Нужен монопольный доступ. - 🗄 На стороне СУБД: для MS SQL —
DBCC CHECKDB, для PostgreSQL —vacuumdb --analyzeпо базе 1С. - 💾 Настройте резервное копирование средствами СУБД и проверьте восстановление на тестовую базу.
8. Ошибки при установке серверной базы 1С
ping server), а порты 1540, 1541 и диапазон рабочих процессов открыты. Частая причина — открыли только 1540.srvinfo. Выдайте права в локальной политике безопасности и проверьте NTFS-разрешения.radmin.dll той версии, что установлена на сервере. Выполните regsvr32 для каталога bin актуальной версии.dbcreator у логина.pg_hba.conf нет строки для адреса сервера 1С или listen_addresses слушает только localhost. После правки перезагрузите конфигурацию PostgreSQL.Не удаляйте и не пересоздавайте кластер, чтобы «починить» сервер. Вместе с ним пропадают регистрации баз и настройки. Сначала остановите службу в нерабочее время и сохраните копию каталога srvinfo.
9. Частые вопросы о серверной базе 1С
Можно ли перевести файловую базу на сервер без переустановки?
.dt через Конфигуратор, создайте пустую серверную базу и загрузите в неё файл. Данные и пользователи переносятся полностью.