Как уменьшить размер файловой базы 1С и почему она разрастается?

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

В процессе эксплуатации файловых баз «1С:Предприятие» (файл с расширением .1CD) пользователи и администраторы нередко сталкиваются с ситуацией, когда объем базы резко увеличивается в несколько раз. Например, база весила около 10 ГБ, а после проведения регламентных процедур её размер вырос до 30 ГБ. Рассмотрим подробнее, почему возникают подобные скачки объема, как проанализировать состав базы и какими способами можно уменьшить её размер до нормальных значений.

Почему файловая база 1С резко увеличивается в размерах

Проанализируем основные причины, приводящие к аномальному росту файла 1CD:

  1. Проведение тестирования и исправления (ТИИ) без сжатия: При выполнении реструктуризации таблиц или пересчета итогов платформа создает временные и дублирующие службы таблиц. Если в параметрах ТИИ выключена опция сжатия, высвободившиеся пустые страницы внутри файла не удаляются, а остаются резервом, из-за чего файл базы физически раздувается.
  2. Разрастание таблиц зарегистрированных изменений: Наличие лишних или неиспользуемых узлов в планах обмена с включенной авторегистрацией приводит к быстрому накоплению записей о зарегистрированных изменениях.
  3. Накопление пустых страниц и фрагментация файла: В процессе активного удаления документов, сведений или пересчета служебных данных страницы внутри файла 1CD помечаются как свободные, но сам файл на диске не уменьшается.
  4. Хранение файлов внутри базы данных: Прикрепление скан-копий, PDF-документов и архивов в справочник присоединенных файлов напрямую увеличивает размер таблицы _DOCUMENTX или служебных таблиц хранения бинарных данных.
  5. Активное версионирование объектов: Если для часто редактируемых документов включена история изменений, таблица сведений о версиях быстро разрастается.

Анализ занимаемого объема таблицами

Прежде чем приступать к сжатию, выясним, какие именно внутренние таблицы занимают максимальный объем. Для этого можно использовать специализированную утилиту просмотра структуры файловой базы, например v8tablesizes.exe.

Данный инструмент позволяет открыть файл 1CD в режиме чтения и вывести полный список внутренних таблиц с указанием объема данных и индексов. Это помогает точно определить источник проблемы: разросся ли журнал зарегистрированных изменений, хранилище присоединенных файлов или служебные таблицы итогов. Если база запускается, дополнительно оценить объём данных по объектам конфигурации можно через обследование базы 1С. В файловом варианте это не анализ свободных страниц и индексов внутри 1CD, поэтому инструмент не заменяет просмотр физической структуры файла.

Очистка базы с помощью утилиты chdbfl.exe

Одним из самых быстродействующих и эффективных способов физической очистки базы от пустых и поврежденных страниц является использование штатной утилиты chdbfl.exe, которая поставляется вместе с платформой 1С.

Рассмотри пошаговый порядок действий:

  1. Завершим работу всех пользователей и закрываем Конфигуратор.
  2. Обязательно создадим резервную копию файла 1CD простым копированием в безопасную папку.
  3. Перейдем в каталог установленной платформы (например, C:\Program Files\1cv8\8.3.X.XXXX\bin\) и запустим файл chdbfl.exe.
  4. В поле «Имя файла базы данных» укажем путь к нашему файлу 1CD.
  5. Установим флаг «Исправлять обнаруженные ошибки».
  6. Нажмем кнопку «Выполнить» и дождемся завершения анализа.

Утилита выполнит проверку структуры, удалит несвязанные и пустые блоки страниц. Во многих случаях эта процедура позволяет сразу вернуть базе первоначальный размер (например, сократить его с 30 ГБ до 13 ГБ).

Выгрузка и загрузка информационной базы (файл .dt)

Другой классический и надежный способ дефрагментации и сжатия файловой базы — стандартная процедура перепаковки через выгрузку в архив информационной базы.

Разберем процесс по шагам:

  1. Запустим «1С:Предприятие» в режиме Конфигуратор.
  2. В главном меню выберем пункт «Администрирование» > «Выгрузить информационную базу...» и сохраним файл с расширением .dt.
  3. После успешного завершения выгрузки создадим новую пустую папку для базы данных.
  4. Добавим новую базу в список запуска 1С, указав созданную пустую папку.
  5. Откроем новую базу в режиме Конфигуратор и выберем пункт «Администрирование» > «Загрузить информационную базу...», указав ранее сформированный .dt файл.

При выгрузке платформой формируется оптимизированный архив без неиспользуемых фрагментов, а при загрузке файл 1CD пересоздается «с нуля», занимая ровно столько места, сколько требуется для хранения реальных данных.

Правильная настройка тестирования и исправления (ТИИ)

Чтобы избежать аномального увеличения базы в ходе регламентного обслуживания в Конфигураторе (раздел «Администрирование» > «Тестирование и исправление...»), необходимо обратить внимание на состав выставляемых флагов.

Обязательно установим галочку напротив пункта «Сжатие таблиц информационной базы». По умолчанию эта опция может быть отключена. Если выполнять реструктуризацию или пересчет итогов без включенного сжатия, база существенно вырастет. Включение данного пункта гарантирует, что после перестройки таблиц платформа выполнит финальную очистку неиспользуемого пространства.

Дополнительные способы оптимизации и снятие лимитов

Проанализируем дополнительные действия, которые помогут удержать размер базы в допустимых пределах:

  1. Перенос присоединенных файлов в тома на диске: В настройках администрирования программы включим опцию хранения файлов в томах на диске и выполним перенос существующих файлов из базы. Это разгрузит сам файл 1CD.
  2. Настройка версионирования и полнотекстового поиска: Очистим устаревшие версии объектов и индекс полнотекстового поиска через меню администрирования.
  3. Смена размера страницы файла базы (утилита cnvdbfl.exe): Важно помнить, что в файловой базе ограничение в 4 ГБ действует не на весь файл 1CD, а на каждую его отдельную таблицу при стандартном размере страницы в 4 КБ. Используя консольную утилиту cnvdbfl.exe из папки bin, можно сконвертировать базу с увеличением размера страницы до 8, 16, 32 или 64 КБ, что существенно расширяет предельный размер внутренних таблиц.
  4. Переход на клиент-серверный вариант (СУБД): Если размер файловой базы стабильно превышает 10–15 ГБ, оптимальным и наиболее безопасным решением является переход на работу с СУБД (например, PostgreSQL или Microsoft SQL Server), что снижает риск повреждения файла базы при сбоях и снимает любые ограничение файлового формата.
← На главную