Почему файл 1Cv8.1CD растёт и как вернуть ему нормальный объём
Содержание
Быстрее всего уменьшить размер файла базы
1С двумя способами: в Конфигураторе запустить Администрирование → Тестирование и исправление с галочкой «Сжатие таблиц информационной базы» или выгрузить базу
в файл .dt и загрузить её обратно. Оба способа выбрасывают из файла 1Cv8.1CD пустые страницы, которые остались после удаления данных. Если же сам объём данных большой, без сжатия не обойтись: сначала удаляют лишнее (помеченные объекты, старые версии, мусор в регистрах), а уже потом сжимают.
Всё ниже относится к платформе 1С:Предприятие 8.3 и файловому варианту базы. Для клиент-серверной базы на MS SQL или PostgreSQL логика та же, но файл данных сжимают средствами СУБД — об этом отдельный абзац в конце.
Откуда берутся лишние гигабайты в информационной базе
Файловая база — это один файл 1Cv8.1CD в каталоге базы. Платформа устроена так, что при удалении записей файл не уменьшается. Освободившиеся страницы помечаются как свободные и потом заполняются новыми данными. Поэтому база, из которой удалили половину документов, весит столько же, сколько до удаления.
Основные причины разрастания:
- 📄 Пустые страницы после удаления объектов, перепроведения, обновления конфигурации. Размер «пухнет», а реальных данных в нём меньше.
- 🗂 Версии объектов. В типовых конфигурациях на БСП каждая запись документа может сохранять его прошлую версию. За несколько лет это гигабайты.
- 📎 Присоединённые файлы — сканы, PDF, картинки, которые пользователи прикрепляют к документам и хранят прямо в базе.
- 🔄 Регистрация изменений для обмена. Если узел обмена (например, старая розничная точка) давно не забирает данные, изменения копятся для него бесконечно.
- 🗑 Помеченные на удаление объекты, которые годами никто не удаляет.
- 📊 Служебные регистры сведений: история обменов, протоколы загрузки банковских выписок, данные интернет-поддержки, кэши расчётов.
- 🕰 Многолетняя история — документы за 8–10 лет в одной базе.
Журнал регистрации и индекс полнотекстового поиска в файловой базе лежат рядом с 1Cv8.1CD, в подкаталогах 1Cv8Log и 1Cv8FTxt. Они не входят в сам файл базы, но занимают место в её каталоге. Если «база весит 20 ГБ» — сначала посмотрите, что именно столько весит.
Как понять, что раздувает файл
Откройте каталог базы и посмотрите размеры: отдельно 1Cv8.1CD, отдельно папки 1Cv8Log и 1Cv8FTxt. Если основной вес — журнал, сжатие базы не поможет, нужно чистить журнал.
Чтобы понять, какие таблицы внутри базы самые тяжёлые, в типовых конфигурациях на БСП есть отчёт о размере данных: ищите его в разделе Администрирование через поиск по слову «размер». Он показывает объём по объектам конфигурации — сразу видно, кто лидер: версии объектов, файлы или регистр обмена.
Сжатие таблиц через «Тестирование и исправление»
Это штатная процедура платформы и первый шаг в любом случае. Она перепаковывает таблицы и отдаёт свободное место файлу.
Что нужно до запуска
Процедура требует монопольного доступа: пока она идёт, в базу никто не войдёт, а открытые сеансы нужно завершить заранее. Делайте это вечером или в выходной.
Пошагово
- Запустите 1С и откройте базу в режиме Конфигуратор.
- Выберите в меню
Администрирование → Тестирование и исправление. - Поставьте галочку «Сжатие таблиц информационной базы».
- Остальные пункты (реиндексация, проверка логической целостности, пересчёт итогов) по желанию. Для одной лишь цели «уменьшить размер» хватит сжатия; полная проверка займёт заметно больше времени.
- В блоке режима выберите «Тестирование и исправление», а не «Только тестирование» — иначе сжатия не будет.
- Нажмите «Выполнить» и дождитесь сообщения о завершении.
После сжатия сравните размер 1Cv8.1CD с исходным. Если база давно не обслуживалась, разница бывает в 20–40%. Если почти ничего не изменилось — значит, пустых страниц было мало и место занимают реальные данные. Тогда переходите к очистке.
Не прерывайте тестирование и исправление снятием задачи в диспетчере. Обрыв в середине операции может повредить файл. Если процесс идёт долго, ждите.
Удаление помеченных объектов и чистка регистров сведений
Сжатие убирает пустоты, но не удаляет данные. Чтобы файл реально похудел, сначала нужно избавиться от того, что не нужно.
Помеченные на удаление
В конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) удаление выполняется обработкой в разделе Администрирование → Обслуживание, группа «Корректировка данных», команда «Удаление помеченных объектов».
Порядок такой:
- Запустите обработку в режиме выборочного удаления, чтобы видеть список.
- Дождитесь поиска ссылок. Объекты, на которые кто-то ссылается, программа не удалит и покажет, кто мешает.
- Разберите мешающие ссылки или снимите с таких объектов пометку.
- Удалите остальное.
В больших базах первый прогон занимает часы: программа проверяет ссылки по всем таблицам. Запускайте его вне рабочего времени.
Версии объектов
Если отчёт о размере показал, что лидер — регистр версий объектов, откройте Администрирование → Общие настройки и найдите группу версионирования объектов. Там задаётся, для каких документов хранить историю и как долго, и есть команда очистки устаревших версий.
Разумная настройка: хранить историю для справочников и ключевых документов, а срок хранения ограничить годом-двумя. После очистки сделайте сжатие таблиц — иначе освобождённое место так и останется внутри файла.
Регистрация изменений для обмена
Брошенный узел обмена — частая и неочевидная причина. Откройте настройки синхронизации данных (Администрирование → Синхронизация данных) и проверьте список узлов. Если какая-то точка давно не обменивается и не будет, удалите её настройку синхронизации. Вместе с узлом исчезнут и накопленные для него изменения.
Служебные регистры сведений
Часть регистров сведений хранит то, что нужно лишь временно: протоколы, историю загрузок, кэши. В типовых конфигурациях многие из них чистятся регламентными заданиями. Проверьте, что эти задания включены: Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания.
Не удаляйте записи регистров сведений вручную через «Все функции» и не очищайте таблицы запросами. Регистр, который выглядит мусорным, может хранить курсы валют, цены или настройки учёта. Чистите только штатными командами конфигурации.
Присоединённые файлы
Если база тяжёлая из-за сканов, переведите хранение файлов в тома на диске. В БСП-конфигурациях эта настройка лежит в Администрирование → Общие настройки, в группе работы с файлами: режим хранения «В томах на диске» и список томов. После этого уже накопленные файлы переносят из базы в том отдельной командой переноса. Файлы останутся доступны пользователям, но перестанут раздувать 1Cv8.1CD.
Выгрузка и загрузка через файл .dt
Перезагрузка через .dt — самый радикальный способ сжатия штатными средствами. Платформа выгружает только данные, а при загрузке строит файл базы заново, без пустот и фрагментации. Результат обычно лучше, чем у сжатия таблиц.
Как сделать
- Откройте базу в Конфигураторе.
Администрирование → Выгрузить информационную базу, укажите имя файла, напримерbase_2026.dt.- Создайте новую пустую файловую базу в отдельном каталоге.
- Откройте новую базу в Конфигураторе и выполните
Администрирование → Загрузить информационную базу, выбрав файл.dt. - Проверьте новую базу: откройте в режиме предприятия, сформируйте оборотно-сальдовую ведомость, сравните остатки со старой базой.
- Только после проверки переключите пользователей на новый каталог.
Загружать .dt в новую базу, а не поверх старой, безопаснее: старая остаётся рабочей, пока вы не убедитесь, что новая в порядке.
Сжатие таблиц или перезагрузка — что выбрать
| Способ | Когда подходит | Время | Риски |
|---|---|---|---|
| Сжатие таблиц | Регулярное обслуживание, база до 5–10 ГБ | Минуты — час | Минимальные при наличии копии |
| Выгрузка/загрузка .dt | База давно не обслуживалась, сжатие мало помогло | Час и больше | Нужна проверка новой базы; места на диске нужно в 2–3 раза больше |
| Свёртка базы | Многолетняя история, данные прошлых лет не нужны | День и больше | Изменение учётных данных, нужна подготовка |
Если данных действительно много
Когда после чистки и перезагрузки база всё равно большая, остаётся свёртка: перенос остатков на дату и удаление документов прошлых периодов. В БСП-конфигурациях для этого есть отдельная обработка свёртки. Это серьёзная операция: перед ней делают полную копию, которую хранят как архив за прошлые годы, и заранее согласуют дату свёртки с бухгалтерией.
Альтернатива свёртке — перевод на клиент-серверный вариант. Для файловой базы объёмом от 10–15 ГБ и 5–10 одновременных пользователей это часто разумнее, чем бороться с размером.
Регулярное обслуживание и хранение копий
Разовое сжатие помогает на несколько месяцев. Чтобы файл не возвращался к прежнему объёму, обслуживание ставят на расписание.
Разумная периодичность
| Операция | Как часто |
|---|---|
| Выгрузка в .dt или копия каталога | Ежедневно, ночью |
| Сжатие таблиц | Раз в месяц или после крупных удалений |
| Удаление помеченных объектов | Раз в квартал |
| Очистка устаревших версий объектов | Раз в квартал или автоматически по настройке |
| Сокращение журнала регистрации | Раз в полгода |
Автоматизация через пакетный режим
Конфигуратор умеет выполнять тестирование и выгрузку без участия человека, из командной строки. Пример bat-файла для ночного обслуживания:
@echo off
rem Укажите номер своей версии платформы в пути
set V8="C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe"
set BASE=D:\Bases\Buh
set BACKUP=E:\Backup
rem Выгрузка в .dt с датой в имени
%V8% DESIGNER /F "%BASE%" /N "Администратор" /P "пароль" /DisableStartupDialogs /DumpIB "%BACKUP%\buh_%date:~6,4%%date:~3,2%%date:~0,2%.dt" /Out "%BACKUP%\dump.log"
rem Сжатие таблиц
%V8% DESIGNER /F "%BASE%" /N "Администратор" /P "пароль" /DisableStartupDialogs /IBCheckAndRepair -IBCompression /Out "%BACKUP%\compress.log"
Запускайте его через Планировщик заданий Windows ночью, когда в базе никого нет. Если кто-то останется в базе, операция не выполнится, и причина будет в лог-файле из параметра /Out.
Пароль администратора в bat-файле лежит открытым текстом. Создайте для обслуживания отдельного пользователя с административными правами и ограничьте доступ к каталогу со скриптом.
Где хранить копии
- 💾 Не на том же диске, где база: при отказе диска пропадёт всё сразу.
- 🗓 Схема хранения: 7 ежедневных, 4 еженедельных, 12 ежемесячных копий. Старые удаляйте скриптом.
- 🗜 Файл
.dtуже упакован, архиватором его почти не сжать. Копию каталога с1Cv8.1CD, наоборот, архиватор сжимает хорошо. - ✅ Раз в квартал разворачивайте копию в тестовую базу и проверяйте, что она открывается.
Журнал регистрации и прочие файлы в каталоге базы
Журнал регистрации часто весит больше, чем сама база. Особенно если в настройках включена регистрация всех событий.
Как сократить журнал
- В Конфигураторе откройте
Администрирование → Журнал регистрации. - В меню формы журнала выберите команду сокращения журнала.
- Укажите дату, до которой удалить события, например всё старше года.
- При желании сохраните удаляемую часть в отдельный файл.
Как снизить скорость роста
В Конфигураторе: Администрирование → Настройка журнала регистрации. Здесь два параметра:
- 📶 Уровень регистрации. «Регистрировать ошибки» или «Регистрировать ошибки и предупреждения» достаточно для большинства баз. Уровень «Регистрировать все события» оставляйте только на время расследования проблемы.
- 📅 Разделение журнала по периодам (по дням, месяцам, годам). Тогда старые периоды лежат отдельными файлами, и их легко архивировать или удалять.
Технологический журнал и кэш
Технологический журнал (logcfg.xml) пишет отдельно, в каталог, указанный в настройке. Если его когда-то включили для диагностики и забыли — он может занять десятки гигабайт. Найдите файл logcfg.xml в каталоге conf установки платформы и удалите или переименуйте его, чтобы отключить журнал. Изменение вступает в силу без перезапуска, но перед этим убедитесь, что журнал больше не нужен тому, кто его включал.
Индекс полнотекстового поиска (1Cv8FTxt) пересоздаётся программой. Если поиском не пользуетесь, отключите его в разделе администрирования, в настройках поиска, и каталог перестанет расти.
Кэш пользователя (%APPDATA%\1C\1cv8) к размеру базы не относится. Он лежит на компьютере пользователя и на объём 1Cv8.1CD не влияет.
Клиент-серверная база
Для базы на MS SQL сжатие в Конфигураторе почти не уменьшает файлы .mdf и .ldf. Место возвращают средствами сервера: модель восстановления, резервное копирование
журнала транзакций, затем сжатие файла средствами SQL Server. Для PostgreSQL аналог — VACUUM FULL. Обе операции блокируют таблицы, так что выполняют их в окно обслуживания, когда пользователи 1С не работают.