Сервер 1С:Предприятия против файловой базы: когда переход окупается
Содержание
Сервер 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 Server | PostgreSQL (сборка для 1С) |
|---|---|---|
| Стоимость | Лицензия СУБД | Бесплатно |
| ОС сервера | Windows | Windows или Linux |
| Опыт администраторов | Встречается чаще | Нужен человек, знакомый с Linux и postgresql.conf |
| Настройка «из коробки» | Работает почти сразу | Нужно подстроить параметры памяти под объём ОЗУ |
На практике обе СУБД тянут типовые конфигурации. Разница в скорости чаще зависит от настройки памяти, дисков и обслуживания (статистика, индексы), чем от выбора самой СУБД.
⚠️ Не размещайте СУБД и сервер 1С на машине с 4–8 ГБ памяти, если в базе работает больше 10 человек. СУБД любит память под кэш, а рабочие процессы 1С — под вызовы. Ориентир для 15–30 пользователей БП или УТ: от 32 ГБ ОЗУ и SSD-диски под файлы базы.
Безопасность данных и права доступа
В файловом режиме у каждого пользователя есть право на запись в папку с базой. Значит, любой сотрудник может скопировать файл 1Cv8.1CD на флешку и унести всю бухгалтерию. Или случайно удалить. А шифровальщик на одном компьютере зашифрует базу по сети.
На сервере всё иначе:
- Пользователи 1С подключаются только через сервер. Доступа к файлам базы у них нет.
- С СУБД соединяется только служба сервера 1С под своей учётной записью (по умолчанию
USR1CV8). - Логин и пароль пользователя СУБД знает администратор; бухгалтерам он не нужен.
- Файлы базы физически лежат на сервере, а не на общем ресурсе.
Три уровня администраторов
Не путайте три разных набора учётных записей:
- 🔑 Администратор кластера — может создавать и удалять базы, завершать сеансы. Задаётся в консоли администрирования.
- 🗄️ Администратор информационной базы — пользователь 1С с полными правами внутри конкретной базы.
- 🧱 Пользователь СУБД — под ним сервер 1С подключается к SQL Server или PostgreSQL.
Задайте администратора кластера сразу после установки. Пока его нет, любой, кто откроет консоль по сети, может управлять кластером, в том числе удалить базу из списка .
Если пароль администратора кластера потерян, не пересоздавайте кластер. Остановите службу сервера в нерабочее время (все сеансы оборвутся) и восстановите каталог настроек кластера из резервной копии или обратитесь к тому, кто настраивал сервер.
Производительность сервера 1С: что ускоряется и что настроить
Сервер ускоряет не «всё и сразу», а конкретные сценарии:
- 📉 Тяжёлые отчёты и закрытие месяца. Запрос выполняется рядом с данными, по сети идёт только результат.
- 👥 Одновременная работа. Управляемые блокировки убирают ожидание на всю таблицу.
- 🌐 Удалённые офисы. Тонкий клиент по медленному каналу работает приемлемо, файловая база через VPN — почти нет.
- 🔍 Длинные списки. Динамические списки читают данные порциями на сервере.
Для одного пользователя на мощном ноутбуке файловая база бывает даже быстрее: нет сетевых задержек и обращений к СУБД. Поэтому ждать от сервера прироста на базе из двух человек не стоит.
Что настраивают в первую очередь
- Рабочие процессы. В свойствах рабочего сервера задают, сколько баз и соединений обслуживает один процесс. Для небольшого сервера достаточно значений по умолчанию.
- Перезапуск рабочих процессов. В свойствах кластера включают плановый перезапуск по интервалу. Это спасает от разрастания памяти
rphostза недели работы. - Лимиты памяти. Параметр безопасного расхода памяти за один вызов защищает от ситуации, когда один кривой отчёт съедает всю ОЗУ сервера.
- Обслуживание СУБД. Регулярное обновление статистики и перестроение индексов: в SQL Server — планом обслуживания, в PostgreSQL —
VACUUM ANALYZEпо расписанию. - Память СУБД. В 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 | Конфигуратор, Администрирование → Выгрузить информационную базу | Перенос между СУБД и между режимами |
Схема для небольшой фирмы, которая закрывает большинство рисков:
- Ежедневная полная копия ночью.
- Копия журнала транзакций каждые 15–60 минут в рабочее время.
- Копии на другой диск и раз в сутки — за пределы сервера.
- Раз в месяц пробное восстановление в тестовую базу.
Выгрузка .dt — не замена резервной копии. Для базы на десятки гигабайт она идёт долго, а при ошибке загрузки вы узнаете о проблеме в самый неподходящий момент. Используйте её для переноса базы, например из файлового режима на сервер.
Как восстановить базу
Восстановление из копии СУБД перезаписывает базу целиком. Делайте его сначала в отдельную базу данных, регистрируйте её в кластере как тестовую и проверяйте данные. Только потом подменяйте рабочую — с остановкой работы пользователей и блокировкой начала сеансов.
Когда сервер 1С окупается, а когда хватит файловой базы
Решение упирается в число пользователей, удалённый доступ и цену простоя.
Сколько это стоит: ориентиры
Цифры примерные и зависят от партнёра и текущего прайса:
- 💳 Лицензия на сервер 1С:Предприятия 8.3 (x86-64) — ориентировочно 90–110 тыс. руб. Версия КОРП с расширенными возможностями кластера стоит в несколько раз дороже.
- 👤 Клиентские лицензии нужны в любом режиме. Сервер их не заменяет.
- 🐘 PostgreSQL — бесплатно; лицензия MS SQL Server — отдельная статья расходов.
- 🖥️ Железо или аренда. Для 10–20 пользователей подойдёт сервер с 8 ядрами, 32 ГБ ОЗУ и SSD; аренда сопоставимой виртуальной машины — примерно 8–20 тыс. руб. в месяц.
Не забудьте про работу администратора: установка, перенос базы через .dt, настройка резервного копирования и обслуживания СУБД — это разовая работа на один-два дня у специалиста и затем периодический контроль.
Частые вопросы
Можно ли поставить сервер 1С на обычный офисный компьютер?
Нужно ли переписывать конфигурацию при переходе на сервер?
.dt из файлового режима и загружают в новую базу на сервере. Доработанные конфигурации иногда требуют проверки кода на управляемые блокировки и обращения к файлам на диске.