Администрирование · 14 мин
Клиент-серверный режим работы 1С: что это такое и как его настроить
Что такое клиент-серверный режим работы 1С, чем он отличается от файлового, какую СУБД выбрать и как правильно настроить кластер серверов 1С:Предприятие.
Клиент-серверный режим работы 1С — это архитектура, при которой информационная база хранится не в файле на диске, а в базе данных под управлением СУБД (PostgreSQL, MS SQL Server, Oracle, IBM Db2), а обработку запросов выполняет отдельная программа — сервер 1С:Предприятия. Пользовательские компьютеры подключаются к серверу, а тот уже обращается к СУБД. Такая трёхзвенная схема «клиент — сервер 1С — СУБД» снимает ключевые ограничения файлового режима.
Файловый вариант работы держит всю базу в одном файле 1Cv8.1CD в общей сетевой папке. При росте числа пользователей и объёма данных этот подход быстро упирается в блокировки, медленную работу по сети и риск повреждения файла при сбое. Клиент-серверный режим решает эти проблемы: СУБД обеспечивает параллельный доступ десяткам и сотням пользователей, транзакционную целостность и надёжное хранение.
Переход на клиент-серверный режим требует дополнительных затрат: лицензии на сервер 1С:Предприятия, лицензии на СУБД (или бесплатная PostgreSQL), отдельный серверный компьютер и навыки администрирования. Ниже разберём, как устроен этот режим, когда он оправдан и как выполнить переход без потери данных.
Как устроена трёхзвенная архитектура 1С
В клиент-серверном режиме участвуют три компонента. Первый — клиентское приложение (тонкий клиент, толстый клиент или веб-клиент через браузер), которое запускается на компьютере пользователя и отвечает только за интерфейс и часть прикладной логики. Второй — сервер 1С:Предприятия, который выполняет код конфигурации, управляет сеансами, блокировками и фоновыми заданиями. Третий — СУБД, где физически хранятся все данные.
Когда пользователь проводит документ, клиент отправляет запрос на сервер 1С, сервер формирует SQL-запросы к СУБД, та выполняет изменения в таблицах и возвращает результат. Пользовательский компьютер никогда не обращается к файлам базы напрямую — это и есть главное отличие от файлового режима, где клиент читает и пишет файл 1Cv8.1CD по сети самостоятельно.
Сервер 1С:Предприятия объединяет процессы в кластер: агент кластера управляет конфигурацией, рабочие процессы (rphost) обслуживают сеансы пользователей, а менеджер кластера распределяет нагрузку. Администрирование выполняется через консоль кластера, где создаются информационные базы и назначаются их параметры.
Чем клиент-серверный режим отличается от файлового
Различия между режимами касаются хранения данных, параллельности работы, надёжности и стоимости владения. Сравнение по ключевым параметрам приведено ниже.
| Параметр | Файловый режим | Клиент-серверный режим |
|---|---|---|
| Хранение данных | Единый файл 1Cv8.1CD | База данных в СУБД |
| Комфортное число пользователей | До 5–10 | Десятки и сотни |
| Блокировки | Табличные, частые конфликты | Управляемые, построчные |
| Устойчивость к сбоям | Риск повреждения файла | Транзакционная целостность СУБД |
| Разграничение прав на уровне данных | Ограничено (RLS работает медленно) | RLS выполняется на стороне СУБД |
| Дополнительные лицензии | Не требуются | Лицензия на сервер 1С и СУБД |
| Резервное копирование | Копирование файла | Средства СУБД (регламентные бэкапы) |
Практически важное отличие — механизм блокировок. В файловом режиме при записи часто блокируется целая таблица, поэтому два бухгалтера, проводящие документы одновременно, мешают друг другу. В клиент-серверном режиме СУБД блокирует только конкретные строки, и параллельная работа становится реально возможной.
Ещё одно отличие — требования к конфигурации. В клиент-серверном режиме обязательно разделение кода на клиентский и серверный контексты, а некоторые операции (например, прямая работа с файлами на диске сервера) выполняются иначе. Большинство типовых конфигураций изначально рассчитаны на оба режима, но самописные доработки стоит проверить.
Когда переход на клиент-серверный режим оправдан
Однозначных порогов нет, но на практике переход стоит рассматривать, когда с базой одновременно работает больше 5–10 пользователей, объём базы превышает несколько гигабайт, а сотрудники регулярно жалуются на ожидание при проведении документов и ошибки конфликта блокировок. Чем интенсивнее документооборот, тем раньше файловый режим станет узким местом.
Клиент-серверный режим также необходим, если требуется разграничение прав на уровне записей (RLS), регламентные задания с высокой нагрузкой, публикация базы для веб-клиентов и мобильных пользователей, а также если критична защита от повреждения данных: СУБД гарантирует, что при отключении электричества транзакция либо завершится целиком, либо откатится.
Обратная ситуация: небольшая фирма с двумя-тремя пользователями и простым учётом вполне может остаться на файловом режиме. Переход принесёт расходы на лицензии и администрирование, но не даст заметного выигрыша в скорости.
Как выбрать действие
Выбор СУБД для сервера 1С
1С:Предприятие поддерживает несколько СУБД: PostgreSQL (в том числе специальные сборки от 1С и Postgres Professional), Microsoft SQL Server, Oracle Database и IBM Db2. Для большинства организаций выбор сводится к паре PostgreSQL vs MS SQL Server.
PostgreSQL — бесплатная СУБД, для неё существуют сборки, адаптированные под 1С. Это самый экономичный вариант, но он требует внимательной настройки конфигурационного файла (память, соединения, параметры планировщика) и администратора, готового работать с Linux или с PostgreSQL под Windows.
MS SQL Server — коммерческая СУБД с удобными графическими инструментами администрирования, встроенными средствами резервного копирования и мониторинга. Она проще в сопровождении для администраторов Windows-инфраструктуры, но требует покупки лицензий, размер которых зависит от числа ядер или пользователей.
Сравнение вариантов
Бесплатная СУБД, есть сборки под 1С. Подходит при ограниченном бюджете; требует ручной настройки и грамотного администрирования.
Платная СУБД с удобными средствами администрирования и резервного копирования. Подходит организациям с Windows-инфраструктурой и бюджетом на лицензии.
Используются в крупных организациях, где эти СУБД уже развёрнуты. Для типового внедрения 1С обычно избыточны.
Как выполнить переход с файлового режима на клиент-серверный
Переход выполняется через выгрузку информационной базы в файл .dt и загрузку её в новую базу, созданную на сервере. Сам файл 1Cv8.1CD напрямую в СУБД не конвертируется — перенос идёт именно через механизм выгрузки/загрузки конфигуратора.
Перед началом работ обязательно сделайте резервную копию файловой базы и убедитесь, что все пользователи завершили работу. Загрузка большой базы может занять часы, поэтому переход планируют на нерабочее время.
- 1Сделайте резервную копию файловой базы (скопируйте 1Cv8.1CD и дополнительно выгрузите .dt)
- 2Установите СУБД и платформу сервера 1С:Предприятия на выделенный сервер, запустите агент сервера
- 3Откройте консоль кластера серверов и создайте новую информационную базу, указав тип СУБД, имя базы и параметры подключения
- 4Откройте файловую базу в конфигураторе и выполните выгрузку в файл .dt (Администрирование — Выгрузить информационную базу)
- 5Откройте новую серверную базу в конфигураторе и загрузите файл .dt
- 6Назначьте права пользователям, настройте регламентное резервное копирование средствами СУБД
- 7Проверьте работу ключевых операций и только после этого отключите старую файловую базу
После загрузки .dt в серверную базу проверьте версию конфигурации — она должна совпадать с файловой. Затем заведите пользователей, проверьте права и выполните тестовое проведение документов, формирование отчётов и запуск регламентных заданий.
Требования к серверу и настройка производительности
Сервер 1С и СУБД чувствительны к объёму оперативной памяти и скорости дисковой подсистемы. Рекомендуется размещать базу на SSD-дисках, выделять СУБД достаточный объём памяти под кэш и по возможности разносить сервер 1С и СУБД на разные машины при высокой нагрузке — либо корректно делить ресурсы, если они стоят на одном сервере.
Для PostgreSQL обязательно настройте параметры shared_buffers, work_mem и effective_cache_size под объём оперативной памяти сервера — настройки по умолчанию рассчитаны на минимальные конфигурации и сильно занижают производительность. Для MS SQL Server задайте ограничение максимальной памяти сервера, чтобы СУБД не вытеснила сервер 1С.
Сетевое подключение между сервером 1С и СУБД должно быть быстрым и стабильным: между ними идёт интенсивный обмен запросами. Клиентские компьютеры, наоборот, менее требовательны к сети, чем в файловом режиме, — тонкий клиент передаёт только данные интерфейса.
Как проверить результат
Пользователи входят в серверную базу, сеансы видны в консоли кластера
Ошибки соединения с сервером 1С, сеансы не создаются
Документы проводятся без ошибок конфликта блокировок при одновременной работе
Постоянные ошибки блокировок, долгое ожидание записи
Регламентный бэкап СУБД выполняется по расписанию, тестовое восстановление проходит успешно
Бэкапов нет или восстановление из копии не проверялось
Память и диски не загружены на 100% в рабочие часы
Постоянная нехватка памяти, очередь дисковых операций
Типичные ошибки и ограничения режима
Самая частая ошибка — установка СУБД и сервера 1С «из коробки» без настройки. Параметры по умолчанию не рассчитаны на нагрузку 1С, и вместо ускорения организация получает более медленную работу, чем в файловом режиме. Вторая распространённая ошибка — отсутствие регулярного обслуживания СУБД: обновление статистики, перестроение индексов и контроль роста журнала транзакций.
Учтите и ограничения режима. Клиент-серверный вариант требует отдельной лицензии на сервер 1С:Предприятия, а администрирование СУБД — это отдельная компетенция: без неё база может «подвисать» из-за неоптимальных запросов или переполненного журнала. Также некоторые операции, привычные в файловом режиме (например, прямой доступ к файлу базы для копирования), недоступны — резервное копирование делается только средствами СУБД или выгрузкой .dt.
Резервное копирование и обслуживание серверной базы
В клиент-серверном режиме резервное копирование выполняется штатными средствами СУБД: в MS SQL Server — через планы обслуживания и задания агента, в PostgreSQL — через pg_dump или физические копии с WAL-архивированием. Копирование файлов базы вручную при работающей СУБД недопустимо — файлы могут быть несогласованными.
Выгрузка .dt из конфигуратора остаётся полезным дополнением: она создаёт переносимую копию, независимую от СУБД, которую удобно использовать перед обновлением конфигурации. Однако .dt не заменяет регулярные бэкапы СУБД, потому что выгрузка большой базы занимает много времени и не позволяет восстановиться на произвольный момент.
Регулярное обслуживание включает обновление статистики, обслуживание индексов, контроль свободного места на дисках и мониторинг длительных запросов. Раз в несколько месяцев полезно проводить тестовое восстановление базы из копии на отдельном сервере — это единственный способ убедиться, что резервные копии реально работают.
Перед переходом поднимите тестовую серверную базу из копии .dt и дайте поработать с ней нескольким пользователям неделю. Это выявит проблемы с настройками СУБД и доработками конфигурации до того, как на новый режим перейдёт вся компания.
Часто задаваемые вопросы
Можно ли вернуться с клиент-серверного режима обратно на файловый?
Да. Для этого серверную базу выгружают в файл .dt через конфигуратор, затем создают пустую файловую базу и загружают в неё этот файл. Обратный переход обратимо и не требует специальных инструментов, но учтите, что выгрузка большой базы занимает продолжительное время.
Нужна ли отдельная лицензия на сервер 1С:Предприятия?
Да, для работы сервера 1С требуется отдельная лицензия, которая приобретается независимо от клиентских лицензий. Исключение — некоторые поставки и сервисы, где лицензия на сервер уже включена. Клиентские лицензии при этом также необходимы и учитываются по числу одновременных сеансов.
Ускорит ли клиент-серверный режим работу одного пользователя?
Как правило, нет. Выигрыш режима — в параллельной работе многих пользователей, надёжности и масштабируемости, а не в скорости одиночных операций. Для одного-двух пользователей файловый режим на быстром диске часто работает не медленнее, а иногда и быстрее.
Можно ли установить сервер 1С и СУБД на один компьютер?
Можно, и для небольших и средних нагрузок это распространённая практика. Важно правильно распределить ресурсы: ограничить память СУБД, чтобы остался запас для сервера 1С и операционной системы, и использовать быстрые диски. При высокой нагрузке компоненты разносят на разные серверы.
Что делать, если появляются ошибки «Конфликт блокировок при выполнении транзакции»?
Такие ошибки означают, что транзакции конкурируют за одни и те же данные. Проверьте, включён ли в свойствах информационной базы управляемый режим блокировок, не выполняются ли длительные регламентные задания в часы активной работы и нет ли в доработках кода, который блокирует лишние таблицы. Устойчивые конфликты разбирают по журналу технологического журнала и средствам мониторинга СУБД.
Что важно запомнить
Клиент-серверный режим 1С — это работа через связку «сервер 1С + СУБД» вместо единого файла базы. Он нужен при росте числа пользователей и объёма данных, обеспечивает параллельную работу и надёжность, но требует лицензий, настройки СУБД и регулярного администрирования. Переход выполняют через выгрузку и загрузку .dt с обязательной резервной копией.