Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.

Сжатие таблиц базы 1С в MS SQL: сравнение ROW и PAGE

Обновлено: 16.09.2026  ·  Официальная база знаний

Симптомы дисковых перегрузок и разрастания базы 1С в СУБД

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

Показатель СУБДНормальное значениеЗначение при деградации
Page Life Expectancy (PLE)> 300 секунд< 50 секунд (кэш постоянно сбрасывается на диск)
Среднее время задержки I/O (Avg Disk sec/Read)< 5 мс> 25–50 мс (диски перегружены чтением)
Размер таблиц регистров бухгалтерии/накопленияПлановый ростСотни гигабайт с преобладанием повторяющихся GUID

Сравнение и применение технологий сжатия ROW и PAGE для 1С

  1. Различия между методами сжатия:
    • ROW (Строчное сжатие): оптимизирует хранение фиксированных типов данных (например, целые числа хранятся только в фактически занятых байтах, а не во всем выделенном типе INT/BIGINT; обрезаются концевые пробелы строк). Дает экономию диска 15–30% с минимальной нагрузкой на процессор хоста (рост CPU +2-5%).
    • PAGE (Страничное сжатие): включает в себя ROW-сжатие, дополняя его префиксным сжатием (Prefix Compression) и сжатием по словарю страницы (Dictionary Compression). Идеально подходит для 1С, где таблицы переполнены одинаковыми значениями измерений, дат и повторяющихся ссылок GUID. Дает экономию диска 40–70%, но требует 10–15% дополнительной мощности процессора при операциях модификации данных (INSERT/UPDATE).
  2. Оценка потенциального выигрыша перед запуском сжатия:

    Выполните встроенную системную процедуру для целевой таблицы (например, регистра накопления):

    EXEC sp_estimate_data_compression_savings 
        @schema_name = 'dbo', 
        @object_name = '_AccumRg12345', 
        @index_id = NULL, 
        @partition_number = NULL, 
        @data_compression = 'PAGE';
  3. Скрипт включения сжатия PAGE на исторические регистры 1С:

    Сжатие рекомендуется применять к редко изменяемым крупным таблицам и индексам:

    -- Сжатие кучи / кластерного индекса таблицы:
    ALTER TABLE dbo._AccumRg12345 REBUILD PARTITION = ALL WITH (DATA_COMPRESSION = PAGE);
    
    -- Сжатие некластерных индексов таблицы:
    ALTER INDEX ALL ON dbo._AccumRg12345 REBUILD WITH (DATA_COMPRESSION = PAGE);
  4. Общее правило выбора для инфраструктуры 1С:
    • Если узким местом сервера является дисковая подсистема (I/O) и не хватает оперативной памяти (низкий PLE) при свободном CPU (< 50%) — используйте PAGE. Сжатые страницы попадают в RAM прямо в сжатом виде, увеличивая эффективный объем кэша в 2-3 раза.
    • Если процессор сервера СУБД загружен на 80-90% — используйте ROW или откажитесь от сжатия.

Критическое предупреждение для 1С: При реструктуризации таблиц через Конфигуратор 1С (например, при обновлении конфигурации) платформа пересоздает таблицы начисто, и настройки сжатия SQL Server сбрасываются на значения по умолчанию. Регламент повторного сжатия таблиц должен выполняться автоматически через SQL Server Agent.

Практический опыт инженера: Практика ITSTM: Примените сжатие PAGE ко всем индексам таблиц движений документов за закрытые периоды. Это мгновенно поднимает Page Life Expectancy сервера в 3-4 раза, так как сжатые страницы занимают пропорционально меньше места в дорогостоящем буферном пуле ОЗУ.

Частые вопросы (FAQ)

Поддерживается ли сжатие данных в бесплатной редакции SQL Server Express?

Начиная с SQL Server 2016 Service Pack 1, технологии строчного (ROW) и страничного (PAGE) сжатия поддерживаются во всех редакциях СУБД, включая Standard и Express (ранее требовалась исключительно редакция Enterprise).

Как сжатие таблиц влияет на скорость резервного копирования?

Сжатие таблиц существенно ускоряет резервное копирование (Backup), так как размер считываемых с диска страниц уменьшается в 2-3 раза, снижая общее окно создания резервных копий.

Можно ли сжимать базу 1С в режиме реального времени без остановки пользователей?

Да, команда ALTER TABLE ... REBUILD WITH (DATA_COMPRESSION = PAGE, ONLINE = ON) в редакции Enterprise может выполняться в онлайне. В редакции Standard таблица монопольно блокируется на время перестроения.

Какие таблицы в базе 1С категорически не рекомендуется сжимать через PAGE?

Не сжимайте часто модифицируемые оперативные таблицы с высокой интенсивностью операций вставки/удаления: таблицы очередей, константы, таблицы регистрации изменений планов обмена.