Администрирование · 12 мин
СУБД для 1С: какую выбрать для вашей базы
Какую СУБД выбрать для 1С: файловый режим, PostgreSQL, MS SQL Server или IBM Db2. Сравнение по нагрузке, лицензиям, отказоустойчивости и стоимости владения.
Платформа 1С:Предприятие умеет работать в двух режимах: файловом, когда база хранится в одном файле на диске, и клиент-серверном, когда данными управляет отдельная СУБД. Выбор между ними — это не вопрос «моды», а вопрос количества пользователей, объёма данных, требований к отказоустойчивости и бюджета на лицензии и администрирование.
Официально платформа 1С поддерживает четыре варианта СУБД: Microsoft SQL Server, PostgreSQL (включая Postgres Pro), IBM Db2 и Oracle Database. На практике реальный выбор почти всегда сводится к трём вариантам: файловый режим, PostgreSQL или MS SQL Server — Db2 и Oracle встречаются редко и требуют редких специалистов.
Ошибка на этом этапе дорого обходится: недооценённая нагрузка приводит к блокировкам и зависаниям базы в разгар отчётного периода, а избыточное решение — к лишним тратам на лицензии и серверное оборудование. Ниже разберём критерии выбора, ограничения каждого варианта и порядок миграции.
Файловый режим: когда его достаточно и когда он становится проблемой
В файловом режиме вся база — это файл 1Cv8.1CD, который лежит на локальном диске или в сетевой папке. Установка занимает минуты, отдельный сервер и администратор не нужны, резервная копия делается простым копированием файла. Для небольшой компании с 1–5 пользователями это рациональный выбор.
Ограничения проявляются с ростом нагрузки. Файловый режим использует механизм блокировок на уровне таблиц целиком: пока один пользователь проводит крупный документ, остальные ждут. При 8–10 активных пользователях начинаются ошибки «Конфликт блокировок», а при размещении файла на сетевом диске добавляется риск повреждения базы при сбое сети или питания.
Признаки того, что файловый режим исчерпал себя: регулярные ошибки блокировок, размер файла базы свыше 5–10 ГБ, заметные паузы при проведении документов, жалобы пользователей на «зависания» в конце месяца. Это сигнал планировать переход на клиент-серверный вариант, а не ждать аварии.
PostgreSQL: бесплатный клиент-серверный вариант
PostgreSQL — основной бесплатный путь в клиент-серверный режим. Для 1С используются специальные сборки (от 1С или Postgres Pro), потому что платформа требует определённых настроек и расширений, которых нет в «ванильной» поставке. Установка сборки с сайта 1С и развёртывание кластера занимает у опытного администратора несколько часов.
Сильные стороны: нулевая стоимость лицензий на СУБД, полноценная поддержка платформой, работа на Linux (что снимает и расходы на лицензии ОС), развитые средства репликации. Для компании с 10–50 пользователями это обычно оптимальное соотношение цены и результата.
Слабые места тоже есть. Производительность PostgreSQL под 1С на очень высоких нагрузках (сотни одновременных пользователей, тяжёлые отчёты) часто уступает MS SQL Server, а тонкая настройка требует понимания параметров shared_buffers, work_mem, autovacuum. Поддержку иногда приходится искать у сторонних специалистов, так как бесплатная версия не включает вендорскую поддержку — этот момент закрывает коммерческая редакция Postgres Pro.
MS SQL Server: выбор для высокой нагрузки и корпоративных требований
Microsoft SQL Server исторически самый распространённый вариант для крупных внедрений 1С. Он даёт предсказуемую производительность под высокой нагрузкой, зрелые средства отказоустойчивости (Always On, кластеризация), удобные инструменты резервного копирования и мониторинга, а также большое сообщество администраторов.
Цена вопроса — главный минус. Лицензируется SQL Server по ядрам или по схеме «сервер + клиентские лицензии», и для многопроцессорного сервера сумма получается существенной. Дополнительно нужна лицензия на Windows Server. Бесплатная редакция Express для 1С практически не подходит из-за ограничений на объём памяти и размер базы.
Выбирать MS SQL оправдано, когда: пользователей больше 50–100, база десятки и сотни гигабайт, есть требования к кластеру высокой доступности, в компании уже есть инфраструктура Microsoft и администратор SQL Server. В такой ситуации стоимость лицензий окупается снижением рисков простоя.
Сравнение вариантов по ключевым критериям
| Критерий | Файловый режим | PostgreSQL | MS SQL Server |
|---|---|---|---|
| Ориентир по пользователям | до 5–10 | 10–100 | 50 и более |
| Стоимость лицензий СУБД | нет | бесплатно (есть платная Postgres Pro) | платно, по ядрам или CAL |
| Блокировки | на уровне таблиц | на уровне записей | на уровне записей |
| Отказоустойчивость | нет | репликация, потоковая копия | Always On, кластер |
| ОС для сервера | любая | Linux или Windows | Windows (или Linux в новых версиях) |
| Сложность администрирования | минимальная | средняя | средняя, много готовых инструментов |
Таблица даёт ориентиры, а не жёсткие границы: многое зависит от конфигурации (ERP нагружает сервер сильнее, чем «Бухгалтерия»), интенсивности ввода документов и качества кода доработок. Реальную нагрузку стоит измерять, а не оценивать «на глаз».
Сравнение вариантов
Малый бизнес, 1–5 пользователей, нет бюджета на сервер. Ограничение: табличные блокировки и риск повреждения файла.
Средняя компания, 10–50 пользователей, желание сэкономить на лицензиях. Ограничение: требует настройки и квалифицированного администратора.
Крупное внедрение, высокая нагрузка, требования к отказоустойчивости. Ограничение: высокая стоимость лицензий.
Компании, где эти СУБД уже корпоративный стандарт. Ограничение: мало специалистов по связке с 1С.
Как выбрать: пошаговый алгоритм
Начните с подсчёта реальной нагрузки: количество одновременно работающих пользователей в пике, число документов в день, размер базы и темп её роста. Эти цифры важнее абстрактных рекомендаций. Для действующей базы данные можно взять из журнала регистрации и счётчиков производительности.
Дальше оцените ограничения: есть ли в штате администратор, способный обслуживать СУБД, какой бюджет на лицензии, есть ли требования службы безопасности или корпоративные стандарты на конкретную СУБД. Часто «технически лучший» вариант проигрывает тому, который компания способна обслуживать.
Как выбрать действие
Миграция с файлового режима на клиент-серверный
Переход выполняется штатными средствами и не требует специальных конвертеров: база выгружается в файл .dt через конфигуратор, затем загружается в новую базу, созданную на сервере 1С с выбранной СУБД. Для базы в десятки гигабайт выгрузка и загрузка могут занять часы — планируйте миграцию на выходные или ночь.
Типовой порядок действий: развернуть сервер 1С и СУБД, создать пустую информационную базу, сделать тестовую загрузку копии, проверить работу ключевых операций и отчётов, настроить регламентные задания и резервное копирование, и только потом выполнять «боевой» переход. Обязательно сохраните исходный файловый вариант в неприкосновенности до подтверждения, что новая база работает корректно.
- 1Установите сервер 1С:Предприятия и выбранную СУБД (для PostgreSQL — сборку от 1С или Postgres Pro)
- 2Создайте пустую информационную базу в кластере серверов
- 3Выгрузите файловую базу в .dt через конфигуратор (Конфигурация → Администрирование → Выгрузить информационную базу)
- 4Загрузите .dt в новую базу и выполните тестирование и исправление
- 5Проверьте проведение документов, отчёты, обмены и регламентные задания
- 6Настройте резервное копирование средствами СУБД
- 7Переведите пользователей на новую базу, старую сохраните в режиме «только чтение»
Типичные ошибки и как проверить результат
Самая частая ошибка — переход на клиент-серверный режим без настройки СУБД «по умолчанию». PostgreSQL со стандартными параметрами рассчитан на слабое железо и не использует ресурсы сервера; MS SQL без настройки модели восстановления и обслуживания индексов со временем деградирует. Выделенный сервер требует базовой настройки: объёма памяти под СУБД, планов обслуживания, политики бэкапов.
Вторая группа ошибок — организационные: отсутствие резервных копий средствами СУБД (файловый бэкап виртуальной машины не заменяет нормальный дамп), отсутствие тестового контура для обновлений, экономия на дисках (база 1С чувствительна к скорости дисковой подсистемы, SSD для данных и журналов — практически обязательное условие).
После миграции результат проверяют наблюдением: блокировки должны стать единичными, время проведения документов — стабильным в течение дня, регламентные задания — выполняться по расписанию. Полезно первые недели мониторить счётчики производительности сервера и размер логов СУБД.
Как проверить результат
Единичные случаи или отсутствуют
Массовые конфликты блокировок ежедневно
Стабильно, без роста времени к концу дня
Заметное замедление в часы пик
Создаются по расписанию, тестовое восстановление проходит
Копии есть, но восстановление никогда не проверялось
Свободное место и быстрые диски под данные и журналы
Диск заполнен более чем на 80%, база на медленных HDD
Что важно запомнить
Файловый режим — для 1–5 пользователей, PostgreSQL — рабочая бесплатная основа для средней компании, MS SQL Server — для высокой нагрузки и корпоративных требований. Выбор определяется числом пользователей, размером базы и наличием администратора, а переход всегда выполняется через выгрузку .dt с обязательным тестированием.
Частые вопросы о выборе СУБД для 1С
Можно ли работать в 1С вообще без отдельной СУБД?
Да, файловый режим не требует ничего, кроме самой платформы. Для 1–5 пользователей это нормальное решение. Главное — регулярное резервное копирование файла базы и понимание, что при росте числа пользователей потребуется миграция на клиент-серверный вариант.
Правда ли, что PostgreSQL «тормозит» по сравнению с MS SQL?
При корректной настройке и сопоставимом железе разница для типовых конфигураций и десятков пользователей обычно некритична. Заметный разрыв проявляется на очень высоких нагрузках и сложных отчётах. Чаще причиной «тормозов» PostgreSQL оказываются параметры по умолчанию, а не сама СУБД.
Подойдёт ли бесплатный SQL Server Express для 1С?
Технически платформа может работать с Express, но ограничения редакции по объёму памяти, размеру базы и числу ядер делают её непригодной для сколько-нибудь серьёзной эксплуатации. Если бюджет нулевой, разумнее взять PostgreSQL.
Сложно ли потом сменить одну СУБД на другую?
Миграция между поддерживаемыми СУБД выполняется тем же механизмом выгрузки и загрузки .dt, что и переход с файлового режима. Это штатная операция, но для большой базы она требует окна простоя в несколько часов и предварительного тестирования.
Что выбрать, если нет своего системного администратора?
Любая клиент-серверная СУБД требует обслуживания: обновлений, бэкапов, контроля места на дисках. Без администратора безопаснее оставаться на файловом режиме либо использовать облачные сервисы 1С, где инфраструктуру обслуживает провайдер.
Нужен ли отдельный физический сервер под СУБД?
Для небольшой компании сервер 1С и СУБД часто размещают на одной машине — это допустимо при достаточном объёме памяти. При росте нагрузки их разносят, а базу данных размещают на быстрых дисках. Критично не смешивать базу с файловыми помойками и другими ресурсоёмкими службами.