К статье
Практический материал

Администрирование · 12 мин

Какой SQL-сервер лучше для 1С 8.3

Какой SQL-сервер лучше для 1С 8.3: MS SQL Server, PostgreSQL, Oracle или IBM Db2. Сравнение по стоимости, производительности и типичным сценариям работы.

Платформа 1С:Предприятие 8.3 в клиент-серверном режиме работает с четырьмя системами управления базами данных: Microsoft SQL Server, PostgreSQL (включая сборку Postgres Pro), Oracle Database и IBM Db2. На практике выбор почти всегда сводится к двум вариантам — MS SQL Server и PostgreSQL, поскольку Oracle и Db2 применяются в крупных организациях с уже существующей инфраструктурой и штатом администраторов этих СУБД.

Однозначного ответа «какой сервер лучше» нет: решение зависит от числа пользователей, бюджета на лицензии, квалификации администраторов и требований к отказоустойчивости. Для большинства российских организаций среднего размера оптимален выбор между MS SQL Server (проще в администрировании, лучше оптимизированы запросы платформы) и PostgreSQL (бесплатная лицензия, но требует более внимательной настройки).

Важно понимать, что платформа 1С формирует запросы к СУБД по-разному для разных диалектов SQL, и часть типовых конфигураций исторически тщательнее тестировалась под MS SQL Server. Это не делает PostgreSQL «плохим» вариантом, но означает, что при переходе на него важно провести нагрузочное тестирование именно вашей конфигурации.

Какие СУБД официально поддерживает платформа 1С 8.3

Платформа 1С:Предприятие 8.3 сертифицирована для работы с Microsoft SQL Server, PostgreSQL (в том числе Postgres Pro Standard и Enterprise), Oracle Database и IBM Db2. Перечень поддерживаемых версий каждой СУБД зависит от релиза платформы и публикуется в системных требованиях на портале 1С. Перед установкой всегда сверяйте версию вашей платформы с версией СУБД — несовместимые комбинации приводят к ошибкам при создании информационной базы.

Файловый режим работы (без СУБД) технически возможен, но подходит только для небольших баз с несколькими пользователями. При росте числа одновременно работающих пользователей примерно свыше 5–10 и объёма базы свыше нескольких гигабайт файловый режим становится узким местом: растут блокировки, замедляются проведение документов и формирование отчётов. Переход на клиент-серверную архитектуру в этом случае — вопрос времени.

MS SQL Server: когда это лучший выбор

Microsoft SQL Server — самый распространённый вариант для 1С 8.3, и на то есть практические причины. Типовые конфигурации (ERP, УТ, КА, ЗУП) в первую очередь тестируются и оптимизируются под этот диалект SQL. Планы запросов, которые формирует платформа, как правило, предсказуемы, а узкие места хорошо изучены и описаны в базе знаний партнёров.

Администрирование MS SQL Server проще для специалиста без глубокого опыта DBA: графический Management Studio, встроенные средства резервного копирования, понятная модель восстановления баз. Для типовых задач 1С достаточно базовых настроек: правильной модели восстановления, ограничения памяти сервера, настройки tempdb и регулярного обслуживания индексов.

Главный минус — стоимость лицензий. Коммерческие редакции (Standard, Enterprise) лицензируются по ядрам или по схеме «сервер + клиентские лицензии», и для крупных внедрений это заметная статья расходов. Бесплатная редакция Express имеет ограничения по объёму базы и используемой памяти, поэтому подходит только для небольших баз и тестовых сред.

PostgreSQL и Postgres Pro: экономия на лицензиях

PostgreSQL — основная бесплатная альтернатива. Для работы с 1С используется либо специально собранная версия с патчами от 1С, либо коммерческая сборка Postgres Pro, которая сертифицирована для работы с платформой и включает поддержку вендора. Вариант с Postgres Pro часто выбирают организации, которым нужна официальная техническая поддержка СУБД, но лицензии MS SQL не вписываются в бюджет.

Экономия на лицензиях реальна, но не бесплатна в эксплуатации. PostgreSQL требует более внимательной настройки под нагрузку 1С: параметров памяти (shared_buffers, work_mem), планировщика запросов, автовакуума. Без регулярного обслуживания (VACUUM, ANALYZE, переиндексация) производительность деградирует заметно быстрее, чем в MS SQL. Кроме того, часть запросов типовых конфигураций на PostgreSQL выполняется медленнее из-за особенностей оптимизатора — это решается обновлением платформы, настройкой или доработкой запросов.

Практический вывод: PostgreSQL оправдан, если в штате есть администратор, способный настроить и сопровождать эту СУБД, либо есть договор с партнёром на сопровождение. Ставить PostgreSQL «потому что бесплатно» без ресурса на администрирование — частая причина проблем с производительностью.

Oracle и IBM Db2: нишевые сценарии

Oracle Database и IBM Db2 поддерживаются платформой, но встречаются в связке с 1С редко. Их выбор почти всегда обусловлен внешними факторами: в организации уже есть лицензии, эксплуатация и штатные администраторы этих СУБД, а 1С становится ещё одной системой в существующем ландшафте.

Специально покупать Oracle или Db2 под 1С не имеет смысла: стоимость лицензий и сопровождения выше, чем у MS SQL, а преимуществ для типовых задач учёта это не даёт. Кроме того, найти специалистов по связке «1С + Oracle» или «1С + Db2» заметно сложнее, что повышает риски при инцидентах.

Сравнение вариантов

MS SQL Server

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

PostgreSQL / Postgres Pro

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

Oracle Database

Оправдан только при существующей инфраструктуре Oracle в организации. Дорогое лицензирование и дефицит специалистов по связке с 1С.

IBM Db2

Нишевый вариант для крупных предприятий с готовой эксплуатацией Db2. Покупать специально под 1С нецелесообразно.

Как выбрать под ваш сценарий

Начните с оценки четырёх факторов: число одновременно работающих пользователей, размер и темп роста базы, бюджет на лицензии СУБД и наличие компетенций по администрированию. Эти параметры определяют выбор сильнее, чем абстрактные сравнения производительности.

Для базы до 20–30 пользователей с умеренной нагрузкой разница между СУБД при грамотной настройке малозаметна, и решающим фактором становится стоимость владения. Для баз с сотнями пользователей и интенсивным документооборотом на первый план выходят предсказуемость планов запросов, качество инструментов диагностики и опыт администратора — здесь MS SQL Server обычно даёт меньше сюрпризов.

Маршрут решения

Как выбрать действие

Нет выделенного администратора СУБД, нужна простая эксплуатацияВыбирайте MS SQL Server — меньше ручной настройки и больше готовых инструкций под 1С.
Бюджет ограничен, но есть специалист по PostgreSQL или договор сопровожденияРазворачивайте PostgreSQL или Postgres Pro с обязательным нагрузочным тестированием вашей конфигурации.
В организации уже эксплуатируется Oracle или Db2Используйте существующую СУБД при условии, что версия поддерживается вашей платформой 1С.
База небольшая, пользователей меньше десятиРассмотрите файловый режим или SQL Server Express, но заложите план миграции при росте.

Порядок развёртывания и проверки результата

Независимо от выбранной СУБД последовательность внедрения одинакова: установка СУБД, установка кластера серверов 1С, создание информационной базы через консоль кластера, загрузка данных, настройка обслуживания. Ошибки на этапе установки (неверные параметры сортировки, кодировка, неподдерживаемая версия СУБД) потом сложно исправить без пересоздания базы.

Порядок действий
  1. 1
    Сверьте версию платформы 1С с перечнем поддерживаемых версий выбранной СУБД в системных требованиях.
  2. 2
    Установите СУБД на отдельный сервер или выделенную виртуальную машину; не совмещайте с кластером 1С при нагрузке выше минимальной.
  3. 3
    Установите сервер 1С:Предприятия и создайте информационную базу через консоль администрирования кластера.
  4. 4
    Загрузите данные (dt-выгрузку или начальную базу) и проверьте корректность открытия основных отчётов и документов.
  5. 5
    Настройте регламентное обслуживание: резервное копирование, обновление статистики, обслуживание индексов, для PostgreSQL — автовакуум.
  6. 6
    Проведите нагрузочную проверку: типовые операции (проведение документов, закрытие месяца, тяжёлые отчёты) при реальном числе пользователей.

После развёртывания обязательно проверьте базовые показатели работы. Время проведения типового документа, скорость формирования ключевых отчётов и отсутствие ошибок в журнале регистрации — минимальный набор контрольных точек. Для диагностики используйте технологический журнал платформы и штатные средства СУБД (планы запросов, динамические административные представления в MS SQL, pg_stat_statements в PostgreSQL).

Контрольные точки

Как проверить результат

Проведение типового документа
Норма

Выполняется предсказуемо и без заметных пауз при штатной нагрузке

Тревожный признак

Время проведения растёт день ко дню при том же объёме данных

Регламентные задания и отчёты
Норма

Отчёты формируются за приемлемое время, задания не конфликтуют

Тревожный признак

Отчёты зависают, в журнале регистрации ошибки взаимоблокировок

Обслуживание СУБД
Норма

Бэкапы выполняются по расписанию, статистика и индексы обновляются

Тревожный признак

База растёт, а обслуживание не настроено — производительность деградирует

Журнал регистрации и логи СУБД
Норма

Нет повторяющихся ошибок соединения и таймаутов

Тревожный признак

Регулярные таймауты, deadlocks, ошибки превышения памяти

Типичные ошибки и риски

Самая дорогая ошибка — выбор СУБД без учёта сопровождения. Организация ставит PostgreSQL ради экономии, не имея специалиста, и через полгода получает базу без вакуума, с раздутыми таблицами и жалобами пользователей на «тормоза». Вторая типичная ошибка — размещение СУБД и сервера 1С на одной перегруженной виртуальной машине, где они конкурируют за память и дисковые ресурсы.

Отдельный блок рисков связан с резервным копированием. Выгрузка базы в dt через конфигуратор — не замена штатным бэкапам СУБД: для больших баз выгрузка занимает часы и не обеспечивает восстановление на произвольный момент времени. Настройте резервное копирование средствами СУБД (для MS SQL — полная модель восстановления с бэкапами журнала транзакций, если нужно точечное восстановление) и регулярно проверяйте восстановление на тестовом стенде.

Типичные ошибки
01
Выбор PostgreSQL без администратора: без настройки автовакуума и обслуживания производительность деградирует за месяцы.
02
Использование SQL Server Express для растущей базы: упор в ограничения редакции случается внезапно и требует срочной миграции.
03
Отсутствие бэкапов средствами СУБД: dt-выгрузка не позволяет восстановить базу на произвольный момент времени.
04
Установка СУБД и сервера 1С на одну слабую машину: конкуренция за память и диск убивает производительность обеих служб.
05
Миграция на другую СУБД без нагрузочного теста: часть запросов конфигурации может работать значительно медленнее на новом диалекте SQL.

FAQ

Можно ли сменить СУБД, если база уже работает?

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

Правда ли, что 1С работает быстрее на MS SQL Server?

Типовые конфигурации исторически тщательнее оптимизируются и тестируются под MS SQL Server, поэтому «из коробки» на нём меньше проблемных запросов. На грамотно настроенном PostgreSQL разница для большинства операций невелика, но отдельные отчёты и регламентные операции могут требовать дополнительной настройки или обновления платформы.

Достаточно ли SQL Server Express для рабочей базы?

Только для небольших баз с ограниченным числом пользователей. Редакция Express ограничивает размер базы, объём используемой памяти и число задействованных ядер. Если база активно растёт, упор в ограничение произойдёт внезапно — заранее оцените текущий размер и темп роста и заложите бюджет на переход на платную редакцию или PostgreSQL.

Нужен ли отдельный сервер под СУБД?

Для баз с заметной нагрузкой — да. СУБД и сервер 1С активно потребляют память и дисковые ресурсы; на одной машине они мешают друг другу. Минимальная схема для производительной работы — отдельный сервер (физический или виртуальный с гарантированными ресурсами) под СУБД с быстрой дисковой подсистемой.

Что выбрать для небольшой фирмы с 5–10 пользователями?

Часто достаточно файлового режима или SQL Server Express. Если планируется рост или уже есть администратор с опытом PostgreSQL, разумно сразу развернуть PostgreSQL — это снимет вопрос лицензий при масштабировании. Решение принимайте исходя из прогноза роста числа пользователей и объёма данных на ближайшие годы.

Итог

Что важно запомнить

Для большинства внедрений 1С 8.3 оптимален MS SQL Server, при ограниченном бюджете и наличии администратора — PostgreSQL или Postgres Pro. Oracle и Db2 оправданы только в существующей инфраструктуре. Выбор определяется числом пользователей, бюджетом и компетенциями сопровождения, а любая миграция требует резервной копии и нагрузочного теста.