← На главную
При выполнении последовательного обновления типовых конфигураций, таких как 1С:Бухгалтерия предприятия 3.0, специалисты часто сталкиваются с проблемой резкого увеличения размера файла информационной базы 1Cv8.1CD. База объемом в 5 ГБ в процессе установки цепочки релизов может разрастись до 16–35 ГБ. Проанализируем, почему возникает такой эффект, как устроена файловая СУБД 1С и какими способами можно вернуть нормальный размер базы.
Причины резкого роста файла 1Cv8.1CD
Выясним основные технические факторы, из-за которых файловая база 1С существенно увеличивается в объеме при обновлении:
- Фрагментация файлового движка и разрастание индексов: В процессе обновления платформа 1С производит массовую реструктуризацию таблиц, создает временные таблицы и перестраивает индексы. Файловый движок 1С не возвращает освободившееся на диске место операционной системе автоматически — удаленные или перезаписанные страницы остаются зарезервированными внутри файла
1Cv8.1CD.
- Режим настройки поддержки конфигурации: Если конфигурация находится на поддержке с возможностью изменения, в базе одновременно хранятся основной файл конфигурации, конфигурация базы данных и конфигурация поставщика. Это увеличивает общий размер метаданных и служебных таблиц.
- Регистрация изменений в планах обмена: Во время обновления программы Библиотека Стандартных Подсистем (БСП) выполняет массовую перезапись существующих справочников и документов. Если в базе создан хотя бы один сторонний узел в планах обмена, платформа автоматически регистрирует изменения всех перезаписанных объектов, из-за чего таблицы регистрации изменений катастрофически разрастаются.
- Накопление отложенных обработчиков обновления: Если ставить обновления подряд и не дожидаться завершения фоновых процедур обновления данных («Отложенное обновление»), в служебных регистрах накапливаются очереди необработанных задач и логи.
- Индекс полнотекстового поиска: Массовая перезапись данных приводит к активному обновлению таблиц полнотекстового поиска и росту папки
1Cv8FTxt или соответствующих внутренних таблиц.
Шаг 1. Выгрузка и загрузка информационной базы через файл .dt
Самым простым и эффективным способом устранения внутренней фрагментации файловой базы является перепаковка данных через формат .dt. Рассмотрим последовательность действий:
- Запустим программу в режиме 1С:Предприятие и убедимся, что все пользователи завершили работу.
- Откроем базу в режиме Конфигуратор.
- Перейдем в меню Администрирование -> Выгрузить информационную базу... и сохраним файл выгрузки с расширением
.dt. На этом этапе данные сжимаются алгоритмами платформы.
- Создадим новую пустую папку на диске или создадим новую информационную базу в списке.
- Загрузим сохраненный файл через меню Администрирование -> Загрузить информационную базу....
После этой процедуры платформой заново формируется файл 1Cv8.1CD без накопившейся фрагментации и неиспользуемых зарезервированных страниц. В большинстве случаев размер базы уменьшается в 1.5–2 раза.
Шаг 2. Проверка и очистка узлов планов обмена
Проанализируем состояние планов обмена в информационной базе. Даже если активный обмен данными не используется, в системе мог остаться служебный или ранее созданный узел.
- Откроем базу в режиме 1С:Предприятие с правами администратора.
- Через функцию Все функции (или Функции для администратора) перейдем в раздел Планы обмена.
- Проверим каждый план обмена. В списке узлов каждого плана обмена должен оставаться только предопределенный элемент — Этот узел (обозначается значком с точки).
- Если обнаружены лишние неиспользуемые узлы, пометим их на удаление и выполним очистку узлов или отменим регистрацию изменений для этих узлов с помощью обработки
Регистрация изменений для обмена данными.
Шаг 3. Реиндексация и сжатие таблиц базы данных
Рассмотрим штатные инструменты обслуживания информационной базы в режиме Конфигуратора:
- Откроем Конфигуратор и выберем пункт меню Администрирование -> Тестирование и исправление....
- Установим флажки напротив следующих пунктов:
- Реиндексация таблиц базы данных;
- Сжатие таблиц базы данных;
- Реструктуризация таблиц базы данных.
- Нажмем кнопку Выполнить и дождемся завершения процесса.
Сжатие таблиц освобождает неиспользуемое пространство внутри файла 1Cv8.1CD, а реструктуризация перестраивает структуры таблиц в соответствии с актуальными метаданными.
Шаг 4. Очистка устаревших объектов и полнотекстового поиска
Выясним дополнительные меры по снижению объема занимаемого дискового пространства:
- Удаление объектов с префиксом "Удалить": В ходе обновлений БСП устаревшие реквизиты и справочники переименовываются с добавлением префикса
Удалить. После успешного завершения всех этапов обновления данные из них переносятся в новые структуры. Помеченные на удаление служебные объекты можно полностью очистить через раздел Администрирование -> Обслуживание -> Удаление помеченных объектов.
- Очистка индекса полнотекстового поиска: Перейдем в раздел Администрирование -> Обслуживание -> Управление полнотекстовым поиском, выполним очистку индекса и затем запустим его повторное обновление.
- Завершение отложенных обработчиков: Перейдем в меню Администрирование -> Обслуживание -> Результаты обновления программы и убедимся, что все отложенные процедуры обновления статусно завершены.