Сервер 1С:Предприятия против файловой базы: когда переход окупается

· 10 мин

Содержание

Сервер 1С нужен, чтобы база жила не в одном файле на общей папке, а в СУБД под управлением отдельной службы. Это даёт три вещи: работа 15–50 и более пользователей без взаимных блокировок, задания по расписанию без открытого клиента и резервные копии на любой момент времени, а не «на вчерашний вечер».

Типичная история: в фирме шесть бухгалтеров и кладовщик сидят в файловой базе на сетевом диске. В день закрытия месяца один запускает «Закрытие месяца », остальные ловят ожидание блокировки, а раз в квартал база падает после обрыва сети. Именно здесь встаёт вопрос о сервере 1С:Предприятия. Разберём, что он меняет и когда без него можно жить.

Файловый и клиент-серверный режим: в чём разница на деле

В файловом режиме вся база — это файл 1Cv8.1CD. Каждый клиент сам читает и пишет в него по сети. Никакого «центра» нет: десять компьютеров одновременно работают с одним файлом.

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

Что сравниваемФайловая базаСервер 1С + СУБД
Где лежат данныеФайл 1Cv8.1CD в папкеБаза MS SQL Server или PostgreSQL
Кто выполняет кодКаждый клиент у себяРабочие процессы сервера
Блокировки при записиЦеликом на таблицуНа уровне записей (управляемые блокировки)
Регламентные заданияТолько пока открыт хотя бы один сеансПо расписанию, без пользователей
Доступ к даннымНужны права на запись в папкуПользователям доступ к файлам не нужен
Резервная копияКопия файла или выгрузка .dtСредства СУБД, восстановление на момент времени
Лицензия сервераНе нужнаНужна отдельно от клиентских

Главное практическое отличие — блокировки. В файловой базе запись документа блокирует всю таблицу регистра. Пока один проводит реализацию, второй ждёт, даже если работает с другим складом. На сервере с управляемыми блокировками пользователи мешают друг другу, только если правят одни и те же данные.

💡 Для одного-трёх пользователей в одном офисе файловая база обычно работает нормально. Проблемы начинаются с ростом числа людей, объёма базы и с работой через VPN.

Из чего состоит сервер 1С: агент, кластер и рабочие процессы

«Сервер 1С» — это служба Агент сервера 1С:Предприятия 8.3, которая запускает несколько процессов. Знать их полезно: по именам процессов в диспетчере задач видно, что происходит.

  • 🧭 ragent — агент сервера. Принимает первое подключение клиента, по умолчанию порт 1540. Через него же работает консоль администрирования.
  • 🗂️ rmngr — менеджер кластера, порт 1541. Ведёт список баз, сеансов, блокировок, распределяет нагрузку.
  • ⚙️ rphost — рабочие процессы. Именно они выполняют код конфигурации и ходят в СУБД. Порты берутся из диапазона, по умолчанию 1560–1591; диапазон задаётся в свойствах рабочего сервера.
  • 🖥️ ras — сервер администрирования, порт 1545. Нужен, чтобы управлять кластером из графической консоли или утилитой rac.

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

Кластер из нескольких машин

Кластер — это набор рабочих серверов, которые обслуживают одни и те же базы. В небольшой фирме кластер состоит из одной машины. В крупной к нему добавляют второй и третий рабочий сервер: менеджер кластера раздаёт им сеансы, а при отказе одного сервера нагрузку подхватывают остальные. Отказоустойчивость и назначение функциональности (какие задачи на каком сервере выполнять) настраиваются в консоли кластера.

Планировщик регламентных заданий

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

В файловой базе они выполняются только внутри открытого клиентского сеанса. Закрыли вечером последнюю 1С — обмен с интернет-магазином встал до утра. На сервере менеджер кластера запускает задания по расписанию сам, даже ночью и в выходные.

Если нужно временно остановить задания (например, на время обновления), в свойствах базы в консоли администрирования есть флажок блокировки регламентных заданий. Удалять или отключать их в самой конфигурации не нужно.

Зачем серверу 1С отдельная СУБД: MS SQL Server и PostgreSQL

Сервер 1С сам данные не хранит. Он хранит их в СУБД, а каждая информационная база — это отдельная база данных в ней. Платформа 8.3 поддерживает:

  • 🟦 Microsoft SQL Server — традиционный выбор под Windows. Требует отдельной лицензии; бесплатная редакция Express ограничена по размеру базы и ресурсам, для рабочей 1С подходит только как стенд.
  • 🐘 PostgreSQL — бесплатная СУБД. Для 1С используют сборки с патчами под платформу: от фирмы 1С или Postgres Pro. Обычный «ванильный» PostgreSQL без этих доработок брать не стоит.
  • ⬜ IBM Db2 и Oracle Database — тоже есть в списке поддерживаемых, но в малом и среднем бизнесе почти не встречаются.

Как выбрать между двумя основными:

КритерийMS SQL ServerPostgreSQL (сборка для 1С)
СтоимостьЛицензия СУБДБесплатно
ОС сервераWindowsWindows или Linux
Опыт администраторовВстречается чащеНужен человек, знакомый с Linux и postgresql.conf
Настройка «из коробки»Работает почти сразуНужно подстроить параметры памяти под объём ОЗУ

На практике обе СУБД тянут типовые конфигурации. Разница в скорости чаще зависит от настройки памяти, дисков и обслуживания (статистика, индексы), чем от выбора самой СУБД.

⚠️ Не размещайте СУБД и сервер 1С на машине с 4–8 ГБ памяти, если в базе работает больше 10 человек. СУБД любит память под кэш, а рабочие процессы 1С — под вызовы. Ориентир для 15–30 пользователей БП или УТ: от 32 ГБ ОЗУ и SSD-диски под файлы базы.

Безопасность данных и права доступа

В файловом режиме у каждого пользователя есть право на запись в папку с базой. Значит, любой сотрудник может скопировать файл 1Cv8.1CD на флешку и унести всю бухгалтерию. Или случайно удалить. А шифровальщик на одном компьютере зашифрует базу по сети.

На сервере всё иначе:

  1. Пользователи 1С подключаются только через сервер. Доступа к файлам базы у них нет.
  2. С СУБД соединяется только служба сервера 1С под своей учётной записью (по умолчанию USR1CV8).
  3. Логин и пароль пользователя СУБД знает администратор; бухгалтерам он не нужен.
  4. Файлы базы физически лежат на сервере, а не на общем ресурсе.

Три уровня администраторов

Не путайте три разных набора учётных записей:

  • 🔑 Администратор кластера — может создавать и удалять базы, завершать сеансы. Задаётся в консоли администрирования.
  • 🗄️ Администратор информационной базы — пользователь 1С с полными правами внутри конкретной базы.
  • 🧱 Пользователь СУБД — под ним сервер 1С подключается к SQL Server или PostgreSQL.

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

Если пароль администратора кластера потерян, не пересоздавайте кластер. Остановите службу сервера в нерабочее время (все сеансы оборвутся) и восстановите каталог настроек кластера из резервной копии или обратитесь к тому, кто настраивал сервер.

Производительность сервера 1С: что ускоряется и что настроить

Сервер ускоряет не «всё и сразу», а конкретные сценарии:

  • 📉 Тяжёлые отчёты и закрытие месяца. Запрос выполняется рядом с данными, по сети идёт только результат.
  • 👥 Одновременная работа. Управляемые блокировки убирают ожидание на всю таблицу.
  • 🌐 Удалённые офисы. Тонкий клиент по медленному каналу работает приемлемо, файловая база через VPN — почти нет.
  • 🔍 Длинные списки. Динамические списки читают данные порциями на сервере.

Для одного пользователя на мощном ноутбуке файловая база бывает даже быстрее: нет сетевых задержек и обращений к СУБД. Поэтому ждать от сервера прироста на базе из двух человек не стоит.

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

  1. Рабочие процессы. В свойствах рабочего сервера задают, сколько баз и соединений обслуживает один процесс. Для небольшого сервера достаточно значений по умолчанию.
  2. Перезапуск рабочих процессов. В свойствах кластера включают плановый перезапуск по интервалу. Это спасает от разрастания памяти rphost за недели работы.
  3. Лимиты памяти. Параметр безопасного расхода памяти за один вызов защищает от ситуации, когда один кривой отчёт съедает всю ОЗУ сервера.
  4. Обслуживание СУБД. Регулярное обновление статистики и перестроение индексов: в SQL Server — планом обслуживания, в PostgreSQL — VACUUM ANALYZE по расписанию.
  5. Память СУБД. В SQL Server ограничивают max server memory, чтобы оставить память рабочим процессам. В PostgreSQL выставляют shared_buffers и effective_cache_size под объём ОЗУ.

⚠️ Перезапуск рабочих процессов вручную и остановка службы обрывают сеансы пользователей с потерей несохранённых документов. Делайте это вечером или заранее предупредите людей и включите блокировку начала сеансов в свойствах базы.

Управление сеансами без беготни по кабинетам

Через консоль видно, кто сейчас в базе, с какого компьютера и какую лицензию занимает. Зависший сеанс можно завершить, не перезагружая компьютер пользователя. То же можно сделать утилитой rac, например список сеансов с лицензиями даёт rac session list --licenses. Остальные параметры смотрите в rac help.

Резервные копии и восстановление базы на сервере

В файловом режиме варианта два: скопировать файл 1Cv8.1CD, пока никто не работает , или выгрузить базу в .dt через Конфигуратор. Оба способа дают копию на один момент. Упала база в 16:00, последняя копия ночная — день работы восстанавливают вручную.

На сервере резервирование делает СУБД:

СпособКак работаетЧто даёт
Полная копия СУБДBACKUP DATABASE в SQL Server, pg_dump или pg_basebackup в PostgreSQLКопия без остановки работы пользователей
Копии журнала транзакцийВ SQL Server при модели восстановления Full; в PostgreSQL — архивирование WALВосстановление на любую минуту
Выгрузка .dtКонфигуратор, Администрирование → Выгрузить информационную базуПеренос между СУБД и между режимами

Схема для небольшой фирмы, которая закрывает большинство рисков:

  1. Ежедневная полная копия ночью.
  2. Копия журнала транзакций каждые 15–60 минут в рабочее время.
  3. Копии на другой диск и раз в сутки — за пределы сервера.
  4. Раз в месяц пробное восстановление в тестовую базу.
Проверка резервного копирования сервера 1С
Выполнено: 0 / 5

Выгрузка .dt — не замена резервной копии. Для базы на десятки гигабайт она идёт долго, а при ошибке загрузки вы узнаете о проблеме в самый неподходящий момент. Используйте её для переноса базы, например из файлового режима на сервер.

Как восстановить базу

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

Когда сервер 1С окупается, а когда хватит файловой базы

Решение упирается в число пользователей, удалённый доступ и цену простоя.

Нужен ли вам сервер 1С?

Сколько это стоит: ориентиры

Цифры примерные и зависят от партнёра и текущего прайса:

  • 💳 Лицензия на сервер 1С:Предприятия 8.3 (x86-64) — ориентировочно 90–110 тыс. руб. Версия КОРП с расширенными возможностями кластера стоит в несколько раз дороже.
  • 👤 Клиентские лицензии нужны в любом режиме. Сервер их не заменяет.
  • 🐘 PostgreSQL — бесплатно; лицензия MS SQL Server — отдельная статья расходов.
  • 🖥️ Железо или аренда. Для 10–20 пользователей подойдёт сервер с 8 ядрами, 32 ГБ ОЗУ и SSD; аренда сопоставимой виртуальной машины — примерно 8–20 тыс. руб. в месяц.

Не забудьте про работу администратора: установка, перенос базы через .dt, настройка резервного копирования и обслуживания СУБД — это разовая работа на один-два дня у специалиста и затем периодический контроль.

Частые вопросы

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