К статье
Практический материал

Администрирование · 11 мин

Как сжать файл базы 1С 8.3 и уменьшить размер 1Cv8.1CD

Как сжать файл базы 1С 8.3: тестирование и исправление, сжатие таблиц, реструктуризация, chdbfl.exe. Причины роста 1Cv8.1CD, ошибки и проверка результата.

Файловая база 1С 8.3 со временем разрастается: файл 1Cv8.1CD может занимать десятки гигабайт, хотя реальных данных в нём заметно меньше. Причина в том, что при удалении документов, справочников и журналов регистрации место внутри файла не возвращается операционной системе — оно просто помечается как свободное и переиспользуется под новые записи. Пока новых данных мало, файл растёт, а «пустоты» внутри него накапливаются.

Сжатие файла базы — это штатная операция, которая физически переписывает таблицы, вычищает неиспользуемое пространство и уменьшает размер 1Cv8.1CD. Выполнить её можно двумя способами: через конфигуратор с функцией «Тестирование и исправление» или через технологический журнал с утилитой восстановления. Ниже — пошаговые инструкции, условия безопасной работы и типичные ошибки.

Почему файл 1Cv8.1CD растёт и когда нужно сжатие

Файловая база 1С — это один большой контейнер с внутренней структурой таблиц. Когда вы удаляете документы, очищаете регистры или сворачиваете базу, физический размер файла не уменьшается: платформа лишь помечает освободившиеся страницы как доступные для записи. Это нормальное поведение, а не признак повреждения.

Сжатие имеет смысл, если размер файла заметно превышает объём фактических данных: например, после свёртки базы, массового удаления документов, очистки журнала регистрации или удаления больших справочников. Также сжатие полезно, когда файл перестал помещаться на диск или его копирование занимает слишком много времени.

Если база растёт равномерно по мере ввода документов — это естественный рост, и сжатие даст лишь временный эффект. В таком случае лучше рассмотреть переход на клиент-серверный вариант или регулярную свёртку старых периодов.

Файл вырос после свёртки или удаления данныхВнутри много свободных страниц

Сжатие даст заметный эффект — выполняйте через Тестирование и исправление

Файл растёт каждый месяц на сопоставимый объёмЕстественный рост данных

Сжатие даст краткосрочный результат, планируйте свёртку или переход на SQL

База открывается с ошибками или падаетВозможно повреждение структуры

Сначала проверьте файл утилитой chdbfl.exe, затем сжимайте

Свободного места на диске меньше размера файла базыОперация может прерваться

Освободите место: при сжатии создаётся временная копия таблиц

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

Сжатие таблиц — это перезапись файла базы, поэтому первый обязательный шаг — резервная копия. Самый надёжный способ для файловой базы: завершить работу всех пользователей и скопировать файл 1Cv8.1CD средствами проводника в отдельную папку или на внешний носитель. Копию можно дополнительно заархивировать, чтобы она занимала меньше места.

Второе условие — монопольный доступ. Сжатие невозможно, пока кто-то работает в базе. Закройте все сеансы 1С:Предприятия, проверьте, что база не открыта в другом конфигураторе, и убедитесь, что к папке базы не обращаются фоновые службы (например, агент сервера 1С или антивирус с активным сканированием).

Сжатие через Конфигуратор: тестирование и исправление

Основной штатный способ сжатия — процедура «Тестирование и исправление» в конфигураторе. Она выполняется строго в монопольном режиме.

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

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

Что дают режимы реиндексации и сжатия

Реиндексация таблиц перестраивает индексы базы. Она не уменьшает файл напрямую, но ускоряет поиск и выборки, а также является рекомендуемым сопутствующим шагом при обслуживании базы.

Сжатие таблиц информационной базы — ключевой режим: платформа создаёт новые таблицы, последовательно копирует в них только актуальные данные и удаляет старые. Именно на этом этапе файл уменьшается. Для работы режима на диске должно быть свободное место, сопоставимое с размером базы, так как временно существуют и старые, и новые копии таблиц.

Проверка и восстановление файла утилитой chdbfl.exe

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

Запустите утилиту, укажите путь к файлу 1Cv8.1CD, установите флажок «Исправлять обнаруженные ошибки» и нажмите «Выполнить». Утилита работает только с файлом и не требует запуска конфигуратора, но база при этом также должна быть закрыта всеми пользователями.

После успешной проверки и исправления имеет смысл выполнить сжатие через конфигуратор — это дополнительно пересоберёт таблицы и уменьшит файл. Если chdbfl.exe сообщает о неустранимых ошибках, восстанавливайте базу из резервной копии, а не пытайтесь сжимать повреждённый файл.

text
C:\Program Files\1cv8\<версия платформы>\bin\chdbfl.exe

Как уменьшить базу до сжатия: очистка данных

Сжатие убирает только «пустоты», но не лишние данные. Если файл велик из-за реального объёма информации, сначала стоит сократить сам объём: тогда и файл после сжатия станет заметно меньше.

  • Свёртка базы — удаление документов прошлых периодов с формированием остатков на дату свёртки (обработка «Свёртка информационной базы» или типовые механизмы конфигурации).
  • Очистка журнала регистрации — в конфигураторе: Администрирование → Журнал регистрации → сократить, удалив события старше нужной даты.
  • Удаление помеченных объектов — штатная обработка в режиме Предприятия окончательно удаляет помеченные документы и элементы справочников.
  • Очистка версий объектов и вложений — если включено версионирование или в базе хранятся файлы, они могут занимать значительную часть объёма.

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

Маршрут решения

Как выбрать действие

После удаления данных файл не уменьшилсяЭто ожидаемо — выполните сжатие таблиц через Тестирование и исправление
База больше 5–10 ГБ и работает медленно даже после сжатияРассмотрите свёртку старых периодов или переход на клиент-серверный вариант (SQL)
Нужно быстро передать базу по сети или на флешкеСделайте выгрузку в файл .dt через конфигуратор — он обычно компактнее исходного 1Cv8.1CD
Файл не читается или база не открываетсяСначала chdbfl.exe и резервная копия, сжатие — только после восстановления целостности

Альтернативы сжатию: выгрузка в DT и переход на клиент-сервер

Выгрузка базы в файл .dt (Конфигуратор → Администрирование → Выгрузить информационную базу) создаёт компактный архив данных. Последующая загрузка этого файла в пустую папку фактически пересоздаёт базу без свободных страниц — это тоже способ получить «сжатую» базу, хотя и более трудоёмкий.

Если база стабильно большая и много пользователей работают одновременно, файловый формат сам по себе становится ограничением. В клиент-серверном варианте (MS SQL Server, PostgreSQL и другие поддерживаемые СУБД) сжатием и обслуживанием данных управляет СУБД, а проблема разрастания одного файла исчезает.

Сравнение вариантов

Сжатие через Тестирование и исправление

Самый простой штатный способ. Подходит для регулярного обслуживания. Ограничение: требует монопольного доступа и свободного места на диске

Выгрузка и загрузка через .dt

Даёт максимально «чистую» базу и заодно проверяет целостность данных. Дольше по времени, требует вдвое большего дискового пространства

Свёртка базы + сжатие

Радикально уменьшает объём при большом количестве старых документов. Требует тщательной проверки остатков после свёртки

Переход на клиент-сервер

Решает проблему роста файла системно. Требует лицензий, СУБД и навыков администрирования

Типичные ошибки и проверка результата

Типичные ошибки
01
Запуск сжатия без резервной копии — при сбое питания или диска база может быть потеряна безвозвратно
02
Сжатие при работающих пользователях — процедура не запустится или завершится ошибкой монопольного доступа
03
Ожидание, что файл уменьшится сразу после удаления документов — без сжатия таблиц размер не изменится
04
Прерывание процесса кнопкой «Отмена» или закрытием окна — файл остаётся в промежуточном состоянии, придётся восстанавливать из копии
05
Недостаток свободного места на диске — сжатие обрывается на середине, так как временно хранятся две копии таблиц

После завершения сжатия проверьте результат: сравните размер 1Cv8.1CD до и после, откройте базу в режиме Предприятия и убедитесь, что документы, отчёты и справочники доступны и корректны. Полезно сформировать пару ключевых отчётов (например, оборотно-сальдовую ведомость) и сверить итоги со значениями до обслуживания.

Контрольные точки

Как проверить результат

Размер файла 1Cv8.1CD
Норма

Файл заметно уменьшился после удаления данных и сжатия

Тревожный признак

Размер не изменился — сжатие не выполнялось или свободных страниц не было

Открытие базы в режиме Предприятия
Норма

База открывается без ошибок, сеансы работают

Тревожный признак

Ошибки при запуске — проверьте файл chdbfl.exe и при необходимости восстановите копию

Итоги ключевых отчётов
Норма

Остатки и обороты совпадают со значениями до обслуживания

Тревожный признак

Расхождения — прекратите работу и разбирайтесь с копией базы

Свободное место на диске
Норма

После удаления временных файлов места достаточно

Тревожный признак

Диск переполнен временными копиями — очистите вручную после завершения

Сжатие разумно включать в регулярное обслуживание: например, после свёртки года или массовой чистки данных. Для баз, где данные только накапливаются, частое сжатие не даёт выигрыша и лишь занимает время простоя.
ПЗ
Практическое замечание

Частые вопросы

Почему после удаления документов файл базы не уменьшился?

1С не возвращает освободившееся место операционной системе автоматически — страницы внутри файла помечаются свободными и переиспользуются. Чтобы физически уменьшить файл, выполните сжатие таблиц через «Тестирование и исправление» в конфигураторе.

Сколько времени занимает сжатие базы?

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

Можно ли сжать базу без конфигуратора?

Штатного отдельного инструмента именно для сжатия нет: chdbfl.exe только проверяет и исправляет структуру файла. Основной способ — конфигуратор. Альтернатива — выгрузка в .dt и загрузка в новую пустую папку, что тоже требует конфигуратора.

Опасно ли сжатие для данных?

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

Чем сжатие отличается от реструктуризации?

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

Итог

Что важно запомнить

Сжатие файловой базы 1С 8.3 выполняется через Конфигуратор → Тестирование и исправление с режимами реиндексации и сжатия таблиц, строго в монопольном режиме и после создания резервной копии. Если база подозревается в повреждении — сначала проверка chdbfl.exe. Для радикального уменьшения объёма сочетайте сжатие со свёрткой базы и очисткой журнала регистрации.