Клиент-серверный режим 1С: когда файловой базы уже мало и как перейти

· 10 мин

Содержание

Серверная база 1С — это информационная база, которая хранится не в одном файле 1Cv8.1CD, а в отдельной СУБД (PostgreSQL или Microsoft SQL Server), а запросы пользователей обрабатывает сервер 1С:Предприятия. Её выбирают, когда в базе одновременно работает больше 8–10 человек, объём данных перевалил за десятки гигабайт или нужен надёжный бэкап без остановки работы. Файловый вариант остаётся разумным для 1–5 пользователей и небольших баз.

Плюсы серверной базы — скорость при большой нагрузке, устойчивость к сбоям сети, гибкое резервное копирование и разграничение доступа. Минусы — отдельная лицензия на сервер 1С, затраты на железо и необходимость в администраторе.

Чем серверная база 1С отличается от файловой

В файловом режиме каждый клиент сам читает и пишет файл базы по сети. Если у бухгалтера моргнул Wi-Fi в момент проведения документа, файл может повредиться. Блокировки тоже грубые: при записи блокируется таблица целиком, и коллеги ждут.

В серверном режиме клиент только отправляет команды. Всю работу с данными выполняет сервер 1С вместе с СУБД, а по сети ходят уже готовые результаты.

КритерийФайловая базаСерверная база
Где хранятся данныеОдин файл 1Cv8.1CDТаблицы в СУБД
Комфортное число пользователейдо 5–10десятки и сотни
Обрыв сети у клиентариск повредить файлобрывается только сеанс
Блокировкина уровне таблицна уровне записей (управляемый режим)
Резервная копиякопирование файла, чаще при остановке работысредствами СУБД, без выгона пользователей
Лицензиитолько клиентскиеклиентские + лицензия сервера 1С
Кто обслуживаетбухгалтер или «приходящий» специалистадминистратор сервера и СУБД

💡 Конфигурация и данные при переходе не меняются: та же Бухгалтерия 3.0 или ЗУП 3.1 работает в обоих режимах. Меняется только способ хранения и доступа.

Когда пора переходить

  • 👥 одновременно работают 8–10 человек и больше, и проведение документов заметно замедлилось;
  • 📦 файл 1Cv8.1CD вырос за 20–30 ГБ, и закрытие месяца идёт часами;
  • 🌐 пользователи подключаются из филиалов или через интернет ;
  • 🔁 база уже повреждалась из-за сбоев сети или питания;
  • 🕒 нужен бэкап несколько раз в день, а останавливать работу нельзя.

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

Как устроен клиент-серверный режим 1С

Серверная база держится на трёх звеньях: клиенты, кластер серверов 1С и сервер СУБД. Последние два можно поставить на одну машину — так делают в большинстве небольших компаний.

Звенья системы

  1. Клиент — толстый, тонкий или веб-клиент на рабочем месте. Хранит в списке баз строку подключения вида Srvr="srv-1c";Ref="buh";.
  2. Агент сервера (процесс ragent) — точка входа, по умолчанию слушает порт 1540. Через него же работает консоль администрирования.
  3. Менеджер кластера (rmngr) — распределяет соединения, по умолчанию порт 1541.
  4. Рабочие процессы (rphost) — выполняют код конфигурации и запросы к данным. Диапазон их портов задаётся в свойствах рабочего сервера, по умолчанию 1560:1591.
  5. СУБД — хранит таблицы базы, выполняет запросы на уровне SQL.

Порядок такой: клиент обращается к агенту, тот направляет его к менеджеру кластера, а затем клиент получает соединение с рабочим процессом. Поэтому на межсетевом экране нужно открыть все три группы портов, а не только 1540.

Если открыт только порт агента, клиент «видит» сервер, но при входе в базу получает ошибку соединения. Чаще всего забывают как раз диапазон рабочих процессов.

Служба сервера

На Windows сервер 1С работает как служба «Агент сервера 1С:Предприятия 8.3» с разрядностью в названии. По умолчанию она запускается от локального пользователя USR1CV8. Этому пользователю нужны права на каталог кластера (обычно srvinfo) и на каталоги, куда база выгружает файлы.

Каталог srvinfo хранит реестр кластера, журналы регистрации и сеансовые данные. Сами таблицы базы там не лежат — они в СУБД.

Какую СУБД выбрать для серверной базы 1С

Платформа 8.3 поддерживает Microsoft SQL Server, PostgreSQL, IBM Db2 и Oracle Database. На практике малый и средний бизнес выбирает из первых двух.

СУБДПлюсыМинусыКому подходит
PostgreSQL (сборка для 1С или Postgres Pro)бесплатная версия, работает на Linux и Windows, нет проблем с покупкой лицензийнужна именно сборка с патчами для 1С, требует настройки параметров памятибольшинству новых внедрений
Microsoft SQL Serverпривычные инструменты, планы обслуживания мышкойплатные лицензии, сложности с приобретением в России; бесплатная Express ограничена 10 ГБ на базутем, у кого SQL Server уже куплен и работает
IBM Db2, Oracleмасштаб крупных холдинговдорого, мало специалистовкрупным компаниям с готовой экспертизой

Обычный PostgreSQL из репозитория дистрибутива для 1С не подходит — ему не хватает доработок, без которых платформа работает некорректно или не создаёт базу. Берите сборку, рекомендованную для вашей версии платформы, и сверяйте номер версии СУБД с требованиями в документации к релизу.

Сколько ресурсов закладывать

Точных формул нет, но для старта годятся ориентиры:

  • 🧠 ОЗУ — от 16 ГБ на сервер, где вместе стоят 1С и СУБД для 15–25 пользователей; больше базы и людей — больше памяти;
  • 💾 Диски — только SSD или NVMe, данные СУБД и её журналы желательно разнести;
  • ⚙️ Процессор — важна частота ядра: 1С выполняет многие операции в одном потоке.

💡 Если 1С и СУБД стоят на одной машине, ограничьте память СУБД. Для SQL Server это параметр max server memory, для PostgreSQL — shared_buffers и effective_cache_size. Иначе СУБД заберёт всю память, а рабочим процессам 1С не хватит.

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

Перед созданием базы должны работать служба сервера 1С и СУБД, а на компьютере администратора — установлена платформа той же версии, что и сервер.

Создание новой базы из окна запуска

  1. Откройте окно запуска 1С и нажмите Добавить.
  2. Выберите Создание новой информационной базы, затем — пустую базу или из шаблона.
  3. На шаге выбора типа расположения отметьте На сервере 1С:Предприятия.
  4. Заполните параметры:
    • Кластер серверов — имя или IP сервера 1С (при нестандартном порте — через двоеточие);
    • Имя информационной базы в кластере — латиницей, без пробелов, например buh;
    • Тип СУБД, Сервер баз данных, Имя базы данных;
    • Пользователь и пароль СУБД;
    • Смещение дат — для SQL Server обычно 2000, для PostgreSQL оно не требуется;
    • флажок Создать базу данных в случае ее отсутствия;
    • флажок Установить блокировку регламентных заданий — включите его для копий и тестовых баз.
  5. Нажмите Далее и Готово. База появится в кластере и в списке.

Флажок блокировки регламентных заданий критичен для копии рабочей базы. Без него тестовая база начнёт загружать банковские выписки, отправлять письма и обмениваться с ЭДО от имени организации.

Регистрация через консоль кластера

Тот же результат даёт консоль администрирования серверов 1С: в дереве откройте кластер, правой кнопкой по ветке Информационные базы → Создать → Информационная база. Поля те же. Консоль удобна, когда базу на уровне СУБД уже подготовил администратор.

Если консоль не открывается и пишет об ошибке оснастки, перерегистрируйте библиотеку radmin.dll той же версии и разрядности, что и сервер. Команду запускают от администратора:

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

Номер версии в пути подставьте свой.

Перенос файловой базы на сервер

Переносят через файл выгрузки .dt:

  1. В файловой базе откройте Конфигуратор: Администрирование → Выгрузить информационную базу, сохраните файл .dt.
  2. Создайте пустую серверную базу по шагам выше.
  3. Откройте Конфигуратор серверной базы: Администрирование → Загрузить информационную базу, укажите файл .dt.
  4. Проверьте вход пользователей, обмены, пути к файлам и настройки регламентных заданий.

Загрузка .dt требует монопольного доступа и полностью заменяет содержимое целевой базы. Делайте её в пустую базу или в нерабочее время.

После переноса на сервер проверьте
Выполнено: 0 / 6

Производительность серверной базы и масштабирование

Сервер сам по себе не гарантирует скорость. Чаще всего тормоза в серверной базе дают несколько типовых причин.

Что настроить в первую очередь

  • 🔐 Режим управления блокировками — в типовых конфигурациях последних лет он управляемый. Это позволяет нескольким людям проводить документы одновременно без ожидания.
  • 📊 Обновление статистики СУБД — устаревшая статистика заставляет СУБД выбирать медленные планы запросов. Его ставят в расписание каждую ночь.
  • 🧹 Обслуживание индексов — реиндексация или дефрагментация раз в неделю.
  • 🧠 Память СУБД — ограничена так, чтобы хватало процессам 1С.
  • 🌐 Сеть — между сервером 1С и СУБД задержки должны быть минимальными; лучше держать их на одной машине или в одной стойке.

Для PostgreSQL регламент выглядит так:

-- обновить статистику и вычистить «мёртвые» строки во всей базе
VACUUM (ANALYZE);

В SQL Server то же делают задачами Update Statistics и Rebuild Index в плане обслуживания.

Масштабирование

Когда одна машина перестаёт справляться, есть два пути:

  1. Вертикальный — добавить памяти, быстрые диски, процессор с более высокой частотой. Самый дешёвый по трудозатратам вариант.
  2. Горизонтальный — вынести СУБД на отдельный сервер, а позже добавить в кластер 1С ещё рабочие серверы. Нагрузка между ними распределяется автоматически, а настройки отказоустойчивости задают в свойствах рабочих серверов.

Несколько рабочих серверов в одном кластере и отказоустойчивость требуют лицензии сервера уровня КОРП. Для одного сервера на небольшую компанию обычно хватает версии ПРОФ.

Безопасность и обслуживание серверной базы 1С

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

Права и доступ

  • 🛡️ Администратор кластера — задайте его в консоли сразу после установки. Пока список администраторов пуст, управлять кластером может любой, кто до него достучится.
  • 👤 Пользователь СУБД для 1С — отдельная учётная запись с правами только на базы 1С, а не встроенный sa или postgres для повседневной работы.
  • 🔑 Пользователи информационной базы — у каждого свой логин и набор ролей, у администратора 1С — сложный пароль.
  • 🧱 Сеть — порты сервера 1С и СУБД открыты только для внутренней сети или VPN, но не наружу.

Если пароль администратора кластера потерян, не пересоздавайте кластер. Правильный путь — остановить службу, восстановить файл реестра кластера из резервной копии или обратиться к администратору, который настраивал сервер.

Резервное копирование

Главное преимущество сервера — бэкап без выгона людей:

СпособПлюсОграничение
Средства СУБД (pg_dump, задание Backup в SQL Server)работает при включённых пользователях, можно по расписаниювосстановление требует знаний СУБД
Выгрузка .dt из Конфигураторапереносимый формат, не зависит от СУБДна больших базах долго, не замена регулярному бэкапу
Снимок виртуальной машиныбыстробез согласованности с СУБД может восстановиться повреждённым

Пример ночного бэкапа PostgreSQL (в планировщике заданий или cron):

"C:\Program Files\PostgreSQL\15\bin\pg_dump.exe" -U backup_user -Fc -f "D:\backup\buh.dump" buh

Путь к pg_dump зависит от установленной версии. Чтобы копии не перезаписывали друг друга, добавьте в имя файла дату средствами планировщика или скрипта.

💡 Копия, которую ни разу не разворачивали, — не копия. Раз в месяц восстанавливайте бэкап в тестовую базу и открывайте её в 1С.

Регламентные операции с базой

Обновление конфигурации , загрузка .dt, тестирование и исправление требуют монопольного режима. Перед ними в консоли кластера, в свойствах информационной базы, включают Блокировка начала сеансов включена и задают время и сообщение для пользователей.

Принудительное завершение сеансов в консоли обрывает работу пользователей без сохранения. Предупредите людей и делайте это в согласованное окно, например вечером.

Что выбирают компании разного размера

Чтобы не гадать, сверьтесь с ориентирами. Цены примерные, без НДС и сильно зависят от поставщика.

СитуацияРекомендацияПримерные затраты сверх клиентских лицензий
1–5 человек, одна базафайловая база на быстром SSD или в облаке0
6–25 человек, одна-две базысервер 1С ПРОФ + PostgreSQL на одной машинелицензия сервера ПРОФ — ориентировочно 50–90 тыс. руб., сервер — от 150 тыс. руб.
25–100 человек, несколько базотдельные серверы 1С и СУБДлицензия сервера плюс второй сервер и администрирование
сотни пользователей, филиалыкластер из нескольких рабочих серверов, лицензия КОРПпроект под ключ

Альтернатива покупке железа — аренда базы в облаке у партнёра 1С или хостера. Там серверный режим, бэкапы и обновления берёт на себя провайдер, а вы платите помесячно за пользователя.

Частые вопросы о серверной базе 1С

Можно ли вернуть серверную базу обратно в файловую?
Да. Выгрузите базу в .dt из Конфигуратора, создайте пустую файловую базу и загрузите в неё файл. Ограничение одно — объём: базу на сотни гигабайт в файловом режиме использовать неудобно.
Нужна ли отдельная лицензия на сервер 1С?
Да. Для работы в клиент-серверном режиме кроме клиентских лицензий нужна лицензия на сервер 1С:Предприятия, уровня ПРОФ или КОРП. Без неё сервер не даст подключиться к базе.
Можно ли держать на одном сервере несколько баз?
Можно. В одном кластере регистрируют десятки баз, каждая — со своей базой данных в СУБД. Лицензия сервера одна на машину, а не на базу.
Работает ли серверная база через интернет?
Напрямую открывать порты сервера в интернет небезопасно. Удалённых сотрудников подключают через VPN, через терминальный сервер или публикуют базу на веб-сервере для тонкого и веб-клиента.
Почему серверная база работает медленнее файловой на мелких операциях?
На одном пользователе так бывает: каждый вызов проходит через сеть и СУБД. Выигрыш сервера проявляется при одновременной работе многих людей и на больших объёмах. Если медленно всё и у всех — проверьте статистику СУБД и память.