Клиент-серверный режим 1С: когда файловой базы уже мало и как перейти
Содержание
Серверная база 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С и сервер СУБД. Последние два можно поставить на одну машину — так делают в большинстве небольших компаний.
Звенья системы
- Клиент — толстый, тонкий или веб-клиент на рабочем месте. Хранит в списке баз строку подключения вида
Srvr="srv-1c";Ref="buh";. - Агент сервера (процесс
ragent) — точка входа, по умолчанию слушает порт1540. Через него же работает консоль администрирования. - Менеджер кластера (
rmngr) — распределяет соединения, по умолчанию порт1541. - Рабочие процессы (
rphost) — выполняют код конфигурации и запросы к данным. Диапазон их портов задаётся в свойствах рабочего сервера, по умолчанию1560:1591. - СУБД — хранит таблицы базы, выполняет запросы на уровне 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С:Предприятия. - Заполните параметры:
- Кластер серверов — имя или IP сервера 1С (при нестандартном порте — через двоеточие);
- Имя информационной базы в кластере — латиницей, без пробелов, например
buh; - Тип СУБД, Сервер баз данных, Имя базы данных;
- Пользователь и пароль СУБД;
- Смещение дат — для SQL Server обычно
2000, для PostgreSQL оно не требуется; - флажок Создать базу данных в случае ее отсутствия;
- флажок Установить блокировку регламентных заданий — включите его для копий и тестовых баз.
- Нажмите
ДалееиГотово. База появится в кластере и в списке.
Флажок блокировки регламентных заданий критичен для копии рабочей базы. Без него тестовая база начнёт загружать банковские выписки, отправлять письма и обмениваться с ЭДО от имени организации.
Регистрация через консоль кластера
Тот же результат даёт консоль администрирования серверов 1С: в дереве откройте кластер, правой кнопкой по ветке Информационные базы → Создать → Информационная база. Поля те же. Консоль удобна, когда базу на уровне СУБД уже подготовил администратор.
Если консоль не открывается и пишет об ошибке оснастки, перерегистрируйте библиотеку radmin.dll той же версии и разрядности, что и сервер. Команду запускают от администратора:
regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll"
Номер версии в пути подставьте свой.
Перенос файловой базы на сервер
Переносят через файл выгрузки .dt:
- В файловой базе откройте Конфигуратор:
Администрирование → Выгрузить информационную базу, сохраните файл.dt. - Создайте пустую серверную базу по шагам выше.
- Откройте Конфигуратор серверной базы:
Администрирование → Загрузить информационную базу, укажите файл.dt. - Проверьте вход пользователей, обмены, пути к файлам и настройки регламентных заданий.
Загрузка .dt требует монопольного доступа и полностью заменяет содержимое целевой базы. Делайте её в пустую базу или в нерабочее время.
Производительность серверной базы и масштабирование
Сервер сам по себе не гарантирует скорость. Чаще всего тормоза в серверной базе дают несколько типовых причин.
Что настроить в первую очередь
- 🔐 Режим управления блокировками — в типовых конфигурациях последних лет он управляемый. Это позволяет нескольким людям проводить документы одновременно без ожидания.
- 📊 Обновление статистики СУБД — устаревшая статистика заставляет СУБД выбирать медленные планы запросов. Его ставят в расписание каждую ночь.
- 🧹 Обслуживание индексов — реиндексация или дефрагментация раз в неделю.
- 🧠 Память СУБД — ограничена так, чтобы хватало процессам 1С.
- 🌐 Сеть — между сервером 1С и СУБД задержки должны быть минимальными; лучше держать их на одной машине или в одной стойке.
Для PostgreSQL регламент выглядит так:
-- обновить статистику и вычистить «мёртвые» строки во всей базе
VACUUM (ANALYZE);
В SQL Server то же делают задачами Update Statistics и Rebuild Index в плане обслуживания.
Масштабирование
Когда одна машина перестаёт справляться, есть два пути:
- Вертикальный — добавить памяти, быстрые диски, процессор с более высокой частотой. Самый дешёвый по трудозатратам вариант.
- Горизонтальный — вынести СУБД на отдельный сервер, а позже добавить в кластер 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 из Конфигуратора, создайте пустую файловую базу и загрузите в неё файл. Ограничение одно — объём: базу на сотни гигабайт в файловом режиме использовать неудобно.