Администрирование · 11 мин
Как уменьшить размер файла базы 1С
Как уменьшить файл базы 1С: очистка журнала регистрации, тестирование и исправление, очистка помеченных объектов, настройка версионирования и архивация данных.
Файл базы 1С со временем неизбежно растёт: накапливаются документы, журналы регистрации, версии объектов, помеченные на удаление данные и служебные таблицы. Разросшаяся база медленнее открывается, дольше архивируется, а при файловом режиме работы увеличивается риск ошибок при обращении к данным. Уменьшить размер файла можно штатными средствами платформы — без сторонних программ и риска потери данных.
Основные инструменты доступны в конфигураторе и в режиме «1С:Предприятие»: тестирование и исправление со сжатием, очистка журнала регистрации, удаление помеченных объектов, свёртка итогов и архивация старых периодов. Каждый способ даёт эффект в своей ситуации, поэтому сначала стоит понять, что именно занимает место в файле.
Что занимает место в файле базы 1С
Прежде чем уменьшать файл, полезно понять структуру роста. В файловой базе (1Cv8.1CD) хранятся не только документы и справочники, но и служебные данные: журнал регистрации, история версий объектов, итоги регистров, настройки хранилища конфигурации и таблицы помеченных на удаление записей. Часто именно служебные данные занимают значительную долю объёма.
Типичные «тяжёлые» области: журнал регистрации без ограничения срока хранения, включённое версионирование объектов по всем документам, большие вложения в справочниках файлов, непроведённые и помеченные документы за прошлые годы, а также физически не удалённые записи после массовых чисток. Платформа не всегда сразу освобождает место в файле после удаления данных — освобождённое пространство остаётся зарезервированным внутри 1Cv8.1CD до выполнения сжатия.
Проверьте настройки журнала регистрации и версионирования
Выполните сжатие таблиц через тестирование и исправление
Рассмотрите свёртку итогов и архивацию периодов
Подготовка: резервная копия и монопольный доступ
Любые операции по уменьшению размера базы выполняются только после создания резервной копии. Для файловой базы достаточно скопировать файл 1Cv8.1CD при закрытых сеансах пользователей или сделать выгрузку в dt через конфигуратор (меню «Администрирование → Выгрузить информационную базу»). Выгрузка в dt дополнительно проверяет целостность данных и сама по себе иногда уменьшает размер при последующей загрузке.
Тестирование, исправление и сжатие требуют монопольного доступа: все пользователи должны выйти из базы, а фоновые задания — завершиться. Если база опубликована на веб-сервере или работает через сервер 1С, убедитесь, что сеансы завершены принудительно через консоль администрирования. Прерывание сжатия на середине может повредить файл, поэтому перед процедурой проверьте стабильность питания и наличие свободного места на диске — желательно не меньше размера самой базы.
Тестирование и исправление со сжатием таблиц
Главный штатный инструмент уменьшения файла — обработка «Тестирование и исправление» в конфигураторе (меню «Администрирование → Тестирование и исправление»). В списке режимов отметьте пункт «Сжатие таблиц информационной базы». Рекомендуется также включить «Реиндексацию таблиц» — это не уменьшает файл напрямую, но ускоряет работу после сжатия и устраняет фрагментацию индексов.
Режим проверки выбирайте «Тестирование и исправление» только если есть актуальная копия; для профилактики достаточно «Только тестирование» с последующим сжатием. Процесс на больших базах занимает от десятков минут до нескольких часов — запускайте его в нерабочее время. По завершении сравните размер файла 1Cv8.1CD до и после: эффект заметен особенно после массовых удалений данных.
- 1Создайте резервную копию файла 1Cv8.1CD или выгрузку в dt
- 2Завершите все сеансы пользователей и откройте базу в конфигураторе монопольно
- 3Откройте «Администрирование → Тестирование и исправление»
- 4Отметьте «Сжатие таблиц информационной базы» и «Реиндексацию таблиц»
- 5Запустите выполнение и дождитесь завершения без прерывания
- 6Сравните размер файла до и после, проверьте открытие базы в режиме предприятия
Очистка журнала регистрации
Журнал регистрации фиксирует действия пользователей, ошибки и системные события. При настройке «регистрировать все события» и отсутствии ограничения срока хранения он способен занимать заметную часть базы. Сократить журнал можно в конфигураторе: «Администрирование → Журнал регистрации», далее через настройки журнала выберите сокращение событий до указанной даты.
Для профилактики настройте уровень регистрации: в большинстве баз достаточно регистрации ошибок и предупреждений без подробных информационных сообщений. Ограничьте срок хранения событий разумным периодом — например, несколькими месяцами, если нет требований аудита на более длинный срок. После сокращения журнала выполните сжатие таблиц, иначе освобождённое место останется внутри файла.
Удаление помеченных объектов и неиспользуемых данных
Документы и элементы справочников, помеченные на удаление, продолжают физически храниться в базе, пока не выполнена операция удаления помеченных объектов. В режиме «1С:Предприятие» откройте «Администрирование → Обслуживание → Удаление помеченных объектов» (в типовых конфигурациях путь может незначительно отличаться). Выберите режим автоматического удаления всех помеченных объектов или выборочно по типам данных.
Обратите внимание на объекты, которые не удаляются из-за ссылок: если на помеченный документ ссылаются другие записи, платформа откажет в удалении и покажет список препятствующих ссылок. Сначала разберите такие связи — отмените проведение или замените ссылки. После массового удаления снова выполните сжатие таблиц: только тогда размер файла реально уменьшится.
Отдельно проверьте справочники файлов и присоединённых файлов: сканы, изображения и вложения часто занимают больше места, чем сами учётные данные. Удалите дубликаты и неактуальные вложения, а для новых файлов рассмотрите хранение в томах на диске, если конфигурация это поддерживает.
Свёртка итогов и архивация старых периодов
Регистры накопления и сведений хранят итоги по каждому периоду, и за несколько лет работы эти таблицы заметно разрастаются. В типовых конфигурациях есть обработка свёртки базы: она формирует документы ввода остатков на дату свёртки и удаляет документы прошлых периодов. Найдите её в разделе администрирования или обслуживания вашей конфигурации.
Свёртка — радикальная операция: детальные движения старых периодов исчезают, остаются только остатки. Перед запуском сделайте полную копию базы и сохраните её как архив для возможных запросов по старым данным. Альтернатива — разделение базы: текущая база продолжает работу, а копия со старыми периодами хранится отдельно и открывается только при необходимости.
Сравнение вариантов
Безопасно, не удаляет данные; эффективно после удалений. Не помогает, если данные реально нужны
Быстрый эффект при больших журналах; необратимо для истории событий
Максимальное уменьшение старых баз; теряется детализация прошлых периодов
Пересоздаёт файл, убирает внутреннюю фрагментацию; требует времени и монопольного доступа
Настройка версионирования и профилактика роста
Механизм версионирования объектов сохраняет копии документов и справочников при каждом изменении. Если он включён для всех объектов без ограничения срока хранения, история версий быстро раздувает базу. Откройте настройки версионирования в разделе администрирования и оставьте его только для критичных объектов, а срок хранения версий ограничьте разумным периодом с автоматической очисткой старых версий.
Чтобы база не разрасталась снова, настройте регулярные регламентные операции: периодическое удаление помеченных объектов, очистку устаревших версий, контроль вложений и плановое сжатие таблиц. В файловом режиме полезно раз в несколько месяцев выполнять выгрузку и загрузку через dt — это пересоздаёт файл и устраняет накопленную внутреннюю фрагментацию.
Проверка результата и контрольные точки
После всех процедур сравните размер файла 1Cv8.1CD до и после — это главный объективный показатель. Дополнительно откройте базу в режиме предприятия, проведите тестовый документ, сформируйте пару ключевых отчётов за текущий период и убедитесь, что данные на месте и итоги сходятся с контрольными значениями, снятыми до чистки.
Если размер почти не изменился, значит, основной объём занимают реальные учётные данные, и дальнейшее уменьшение возможно только через свёртку периодов или переход на клиент-серверный вариант с СУБД, где администрирование размера выполняется средствами самой СУБД.
Как проверить результат
Файл заметно меньше исходного после сжатия
Размер не изменился — данные не удалены или сжатие не выполнялось
База открывается быстро, документы проводятся без ошибок
Ошибки при открытии или проведении — восстановите из копии и проверьте chdbfl
Обороты и остатки совпадают с контрольными значениями
Расхождения — проверьте, что не удалено лишнее при чистке
Часто задаваемые вопросы
Почему после удаления документов размер файла 1С не уменьшился?
Платформа резервирует освобождённое место внутри файла для будущих данных и не возвращает его операционной системе автоматически. Чтобы физически уменьшить файл, выполните «Тестирование и исправление» с включённым режимом «Сжатие таблиц информационной базы» в монопольном режиме.
Можно ли уменьшить базу 1С без конфигуратора?
Частично: удаление помеченных объектов, очистка версий и свёртка выполняются в режиме «1С:Предприятие». Но физическое сжатие файла доступно только через конфигуратор, поэтому без него полноценно уменьшить размер не получится.
Опасно ли сжатие таблиц для данных?
При соблюдении условий — резервная копия, монопольный доступ, стабильное питание — операция безопасна и не удаляет учётные данные. Риск возникает при прерывании процесса или запуске на уже повреждённой базе: в таком случае сначала проверьте файл утилитой chdbfl.exe.
Что делать, если база занимает десятки гигабайт в файловом режиме?
Файловый режим имеет практические ограничения по размеру и производительности. Для очень больших баз разумнее рассмотреть переход на клиент-серверный вариант с СУБД (например, PostgreSQL или MS SQL), где сжатием и обслуживанием таблиц управляет сама СУБД.
Как часто нужно выполнять сжатие базы?
Жёсткого регламента нет. Ориентируйтесь на динамику роста: если база активно пополняется и регулярно чистится, достаточно сжатия раз в несколько месяцев или после каждой массовой чистки данных. Ежедневное сжатие не требуется и лишь отнимает время.
Уменьшит ли размер базы выгрузка и загрузка через dt?
Да, часто уменьшает: при загрузке из dt файл пересоздаётся заново без внутренней фрагментации и зарезервированного свободного места. Это также хороший способ профилактики, но процедура требует монопольного доступа и времени, пропорционального размеру базы.
Что важно запомнить
Уменьшение файла 1С строится на трёх шагах: удалить лишнее (журнал регистрации, помеченные объекты, старые версии), затем физически сжать таблицы через тестирование и исправление, и наконец настроить профилактику, чтобы база не разрасталась снова. Любые операции выполняйте только с резервной копией и в монопольном режиме.