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

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

При выполнении последовательного обновления типовых конфигураций, таких как 1С:Бухгалтерия предприятия 3.0, специалисты часто сталкиваются с проблемой резкого увеличения размера файла информационной базы 1Cv8.1CD. База объемом в 5 ГБ в процессе установки цепочки релизов может разрастись до 16–35 ГБ. Проанализируем, почему возникает такой эффект, как устроена файловая СУБД 1С и какими способами можно вернуть нормальный размер базы.

Причины резкого роста файла 1Cv8.1CD

Выясним основные технические факторы, из-за которых файловая база 1С существенно увеличивается в объеме при обновлении:

  1. Фрагментация файлового движка и разрастание индексов: В процессе обновления платформа 1С производит массовую реструктуризацию таблиц, создает временные таблицы и перестраивает индексы. Файловый движок 1С не возвращает освободившееся на диске место операционной системе автоматически — удаленные или перезаписанные страницы остаются зарезервированными внутри файла 1Cv8.1CD.
  2. Режим настройки поддержки конфигурации: Если конфигурация находится на поддержке с возможностью изменения, в базе одновременно хранятся основной файл конфигурации, конфигурация базы данных и конфигурация поставщика. Это увеличивает общий размер метаданных и служебных таблиц.
  3. Регистрация изменений в планах обмена: Во время обновления программы Библиотека Стандартных Подсистем (БСП) выполняет массовую перезапись существующих справочников и документов. Если в базе создан хотя бы один сторонний узел в планах обмена, платформа автоматически регистрирует изменения всех перезаписанных объектов, из-за чего таблицы регистрации изменений катастрофически разрастаются.
  4. Накопление отложенных обработчиков обновления: Если ставить обновления подряд и не дожидаться завершения фоновых процедур обновления данных («Отложенное обновление»), в служебных регистрах накапливаются очереди необработанных задач и логи.
  5. Индекс полнотекстового поиска: Массовая перезапись данных приводит к активному обновлению таблиц полнотекстового поиска и росту папки 1Cv8FTxt или соответствующих внутренних таблиц.

Шаг 1. Выгрузка и загрузка информационной базы через файл .dt

Самым простым и эффективным способом устранения внутренней фрагментации файловой базы является перепаковка данных через формат .dt. Рассмотрим последовательность действий:

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

После этой процедуры платформой заново формируется файл 1Cv8.1CD без накопившейся фрагментации и неиспользуемых зарезервированных страниц. В большинстве случаев размер базы уменьшается в 1.5–2 раза.

Шаг 2. Проверка и очистка узлов планов обмена

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

  1. Откроем базу в режиме 1С:Предприятие с правами администратора.
  2. Через функцию Все функции (или Функции для администратора) перейдем в раздел Планы обмена.
  3. Проверим каждый план обмена. В списке узлов каждого плана обмена должен оставаться только предопределенный элемент — Этот узел (обозначается значком с точки).
  4. Если обнаружены лишние неиспользуемые узлы, пометим их на удаление и выполним очистку узлов или отменим регистрацию изменений для этих узлов с помощью обработки Регистрация изменений для обмена данными.

Шаг 3. Реиндексация и сжатие таблиц базы данных

Рассмотрим штатные инструменты обслуживания информационной базы в режиме Конфигуратора:

  1. Откроем Конфигуратор и выберем пункт меню Администрирование -> Тестирование и исправление....
  2. Установим флажки напротив следующих пунктов:
    • Реиндексация таблиц базы данных;
    • Сжатие таблиц базы данных;
    • Реструктуризация таблиц базы данных.
  3. Нажмем кнопку Выполнить и дождемся завершения процесса.

Сжатие таблиц освобождает неиспользуемое пространство внутри файла 1Cv8.1CD, а реструктуризация перестраивает структуры таблиц в соответствии с актуальными метаданными.

Шаг 4. Очистка устаревших объектов и полнотекстового поиска

Выясним дополнительные меры по снижению объема занимаемого дискового пространства:

  1. Удаление объектов с префиксом "Удалить": В ходе обновлений БСП устаревшие реквизиты и справочники переименовываются с добавлением префикса Удалить. После успешного завершения всех этапов обновления данные из них переносятся в новые структуры. Помеченные на удаление служебные объекты можно полностью очистить через раздел Администрирование -> Обслуживание -> Удаление помеченных объектов.
  2. Очистка индекса полнотекстового поиска: Перейдем в раздел Администрирование -> Обслуживание -> Управление полнотекстовым поиском, выполним очистку индекса и затем запустим его повторное обновление.
  3. Завершение отложенных обработчиков: Перейдем в меню Администрирование -> Обслуживание -> Результаты обновления программы и убедимся, что все отложенные процедуры обновления статусно завершены.
← На главную