Какую редакцию MS SQL Server выбрать для 1С:Предприятие на 50 пользователей: Express или Standard?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Переход с файловой версии 1С на клиент-серверный вариант работы — важный этап масштабирования информационной системы. При выборе СУБД системные администраторы и разработчики часто задаются вопросом: достаточно ли бесплатной версии MS SQL Server Express или необходимо приобретать коммерческую лицензию MS SQL Server Standard / Enterprise? Рассмотрим детально технические ограничения бесплатной редакции, их влияние на работу платформы 1С:Предприятие и альтернативные варианты СУБД при одновременной работе 50 и более пользователей.

Ключевые ограничения MS SQL Server Express

Разберем аппаратные и архитектурные лимиты, заложенные разработчиками Microsoft в редакцию Express, и выясним, как они влияют на высоконагруженную базу 1С:

  1. Ограничение объема оперативной памяти для буферного пула (Buffer Pool): Редакция Express использует не более ~1,4 ГБ ОЗУ на экземпляр СУБД для кэширования страниц данных. Для платформы 1С:Предприятие это самое критичное ограничение. При активной работе пользователей генерируется множество временных таблиц #tt..., выполняются соединения и сортировки. Из-за нехватки памяти СУБД вынуждена непрерывно сбрасывать данные на диск и считывать их обратно, что вызывает огромные задержки ввода-вывода (ожидания PAGEIOLATCH) и приводит к зависанию сеансов уже при 10–15 активных пользователях.
  2. Ограничение размера базы данных (10 ГБ на каждый файл данных): Лимит в 10 ГБ распространяется на основной файл данных (.mdf). Системная база tempdb и журнал транзакций (.ldf) в этот объем не входят. Однако рабочая база 1С на 50 пользователей преодолевает порог в 10 ГБ за считанные месяцы (а иногда и недели) активного документооборота. При достижении предельного размера СУБД заблокирует любые операции записи, и работа пользователей в 1С будет полностью остановлена.
  3. Ограничение вычислительных мощностей: Движок Express задействует не более 1 сокета или 4 процессорных ядер. Параллельная обработка тяжелых аналитических отчетов и группового проведения документов окажется жестко ограничена ресурсами процессора.
  4. Отсутствие службы SQL Server Agent: В бесплатной редакции нет встроенного агента заданий. Это делает невозможным стандартное создание планов обслуживания (Maintenance Plans). Администратору придется настраивать регламентное обновление статистик, дефрагментацию индексов и создание резервных копий через сторонние скрипты и планировщик задач операционной системы.

Почему для 50+ пользователей необходима редакция Standard

Проанализируем преимущества перехода на полноценную редакцию MS SQL Server Standard в контексте 50 активных рабочих мест:

  1. Поддержка достаточного объема ОЗУ: Редакция Standard поддерживает до 128 ГБ оперативной памяти для буферного пула, что позволяет удерживать «горячие» данные и индексы в оперативной памяти без постоянного обращения к дисковой подсистеме.
  2. Использование вычислительных ресурсов: Поддержка до 24 процессорных ядер (или 4 сокетов) обеспечивает параллелизм и быстрое выполнение ресурсоемких запросов.
  3. Полноценное регламентное обслуживание: Наличие SQL Server Agent позволяет организовать регулярную переиндексацию, актуализацию статистик и проверку целостности базы (DBCC CHECKDB), что критично для поддержания стабильной скорости работы 1С.
  4. Сжатие данных и резервных копий: Встроенные механизмы сжатия страниц и бэкапов снижают нагрузку на дисковый массив и экономят дисковое пространство.

Альтернатива: Использование PostgreSQL для 1С

Если бюджет проекта не позволяет приобрести лицензии MS SQL Server Standard, рассмотрим альтернативное решение — свободно распространяемую СУБД PostgreSQL. Однако здесь необходимо учитывать ряд важных нюансов:

  1. Специализированная сборка: Платформа 1С:Предприятие не работает с оригинальной («ванильной») версией PostgreSQL. Необходимо использовать дистрибутивы со специализированными патчами от компании 1С или Postgres Professional.
  2. Тонкая настройка конфигурации postgresql.conf:

    Для стабильной работы 50 пользователей в файле конфигурации СУБД требуется скорректировать параметры:

    1. shared_buffers — установить в пределах 25–30% от общего объема RAM сервера;
    2. work_mem — рассчитать индивидуально (обычно от 32MB до 128MB), учитывая количество одновременных подключений во избежание ошибки нехватки памяти (Out of Memory);
    3. random_page_cost — для быстрых SSD/NVMe-дисков снизить до значений 1.1–1.5, чтобы планировщик запросов не игнорировал индексы в пользу последовательного сканирования;
    4. max_locks_per_transaction — увеличить до 256 или выше для корректной обработки сложных транзакций платформы 1С;
    5. autovacuum — настроить более агрессивную очистку мертвых строк, так как 1С активно модифицирует временные таблицы.
  3. Качество запросов: Планировщик запросов PostgreSQL более чувствителен к неоптимальному коду в конфигурациях 1С, чем оптимизатор MS SQL. Неоптимальные запросы без использования временных таблиц или с неявными соединениями могут приводить к медленному формированию тяжелых отчетов.

Рекомендации по развертыванию инфраструктуры

Подведем итог и сформулируем пошаговые рекомендации для стабильной работы 50 пользователей:

  1. Не использовать SQL Server Express: Для 50 рабочих мест Express-редакция не подходит из-за лимита в 1,4 ГБ RAM и 10 ГБ на базу.
  2. Разделение ролей: Разнесем сервер приложений 1С (ragent, rmngr, rphost) и сервер СУБД на разные физические серверы или виртуальные машины.
  3. Оптимизация кластера 1С: Настроим несколько рабочих процессов rphost в консоли администрирования кластера и зададим лимиты перезапуска процессов по объему памяти, чтобы избежать утечек при тяжелых выборках.
  4. Выбор СУБД: При наличии бюджета выбираем MS SQL Server Standard (наиболее стабильная работа «из коробки» и минимальные требования к администрированию). При необходимости экономии на лицензиях внедряем пропатченный PostgreSQL с обязательным регулярным контролем фрагментации (REINDEX) и сбора статистики (ANALYZE).
← На главную