Администрирование · 8 мин
Как уменьшить объём базы 1С без потери данных
Практические способы уменьшить размер базы 1С: свёртка, очистка журналов, периодов, регистров, сжатие файловой и клиент-серверной базы. Безопасный порядок действий.
База 1С растёт постоянно: накапливаются документы, записи регистров, версии объектов, журналы регистрации и служебные таблицы. Со временем это приводит к замедлению работы, долгому созданию резервных копий, переполнению диска и сбоям при обновлении конфигурации. Уменьшение объёма базы — штатная задача администрирования, но требует аккуратности: неправильные действия могут привести к потере данных.
Единой кнопки «сжать базу» в 1С нет. Приходится применять несколько методов в комплексе: удаление устаревших данных, свёртку периодов, чистку служебных таблиц и физическое сжатие файлов на уровне СУБД или файловой базы. Ниже — проверенный порядок действий, который подходит и для файлового, и для клиент-серверного варианта работы.
Почему база 1С разрастается
Основные потребители места — это регистры накопления и сведений, документы с движениями, журнал регистрации и механизм версионирования объектов. В типовых конфигурациях версионирование может хранить каждую редакцию документа или элемента справочника, что за годы работы даёт гигабайты мёртвого объёма.
Отдельный источник роста — незавершённые обмены данными и планы обмена: зарегистрированные, но не выгруженные изменения копятся в служебных таблицах. Также место съедают помеченные на удаление объекты, которые физически остаются в базе, пока не выполнено удаление помеченных объектов.
Проверить, не занят ли объём версиями объектов и журналом регистрации
Проверить объём регистров накопления и сведений через отчёт по размеру таблиц
Проверить журнал регистрации и таблицы планов обмена
Обязательная подготовка: копия и анализ
Перед любыми действиями сделайте полную резервную копию: выгрузку в dt через конфигуратор или копию файла 1Cv8.1CD при закрытых сеансах. Для клиент-серверной базы — штатный backup средствами MS SQL или PostgreSQL. Проверьте, что копия открывается: восстановите её в тестовой базе и запустите.
Затем определите, что именно занимает место. В типовых конфигурациях есть отчёт или обработка анализа размера таблиц (например, через «Все функции» — стандартные отчёты администрирования, либо типовые обработки с диска ИТС). Для MS SQL размер таблиц виден через отчёт Disk Usage by Table в Management Studio. Это покажет, куда направить усилия: чистить журнал регистрации при переполненных регистрах бессмысленно.
Удаление помеченных объектов и неактуальных данных
Первый безопасный шаг — физическое удаление помеченных объектов: раздел «Администрирование» → «Обслуживание» → «Удаление помеченных объектов». Выберите режим монопольного удаления, чтобы обработка прошла полностью. Объекты, на которые есть ссылки, удалены не будут — это нормально, платформа защищает целостность данных.
Далее проверьте типовые механизмы очистки: удаление устаревших версий объектов («Администрирование» → «Версионирование объектов»), очистку устаревших данных обменов, удаление неиспользуемых присоединенных файлов. Во многих конфигурациях есть регламентные задания очистки — убедитесь, что они включены и выполняются без ошибок.
Очистка журнала регистрации и служебных таблиц
Журнал регистрации в файловой базе хранится в отдельном каталоге и может занимать значительный объём. Сократить его можно через конфигуратор: «Администрирование» → «Настройка журнала регистрации» → «Сократить», указав дату, до которой события не нужны. Для клиент-серверного режима журнал хранится в каталоге srvinfo — его тоже можно сократить или перенести на отдельный диск.
Отдельно проверьте планы обмена: если обмены не используются или узлы удалены, сбросьте регистрацию изменений. Накопленная регистрация изменений — частая причина раздувания базы в распределённых системах и при интеграциях с сайтами.
Свёртка базы 1С по итогам периода
Свёртка — самый радикальный способ уменьшить объём: документы прошлых периодов удаляются, а их итоги переносятся в документы «Операция» / «Ввод остатков» на дату свёртки. В типовых конфигурациях есть обработка «Свёртка информационной базы» (обычно в разделе «Администрирование» или доступна на портале ИТС).
Практические рекомендации: сворачивайте на начало года, за который сдана отчётность и прошли проверки; перед свёрткой сформируйте и сохраните оборотно-сальдовые ведомости по всем счетам, чтобы потом сверить остатки. После свёртки обязательно сравните итоги до и после — расхождения означают ошибки в остатках по регистрам.
- 1Сделайте выгрузку dt и проверьте её восстановление в тестовой базе
- 2Сформируйте ОСВ и отчёты по остаткам на дату свёртки
- 3Завершите все обмены, закройте смены, проведите отложенные документы
- 4Запустите обработку свёртки в монопольном режиме на копии базы
- 5Сверьте остатки после свёртки с сохранёнными отчётами
- 6Выполните тестирование и исправление с реструктуризацией
Физическое сжатие: тестирование и исправление, сжатие СУБД
Удаление данных внутри базы не всегда уменьшает файл на диске: освобождённое место остаётся внутри файла как «пустое». Для файловой базы выполните «Тестирование и исправление» в конфигураторе с включённой опцией «Сжатие таблиц информационной базы» и реструктуризацией — только после этого файл 1Cv8.1CD реально уменьшится.
Для MS SQL после очистки данных выполните перестроение индексов (rebuild) и, при необходимости, сжатие файла данных через DBCC SHRINKFILE — но учтите, что shrink фрагментирует индексы, поэтому после него нужна повторная реиндексация. Для PostgreSQL используется VACUUM FULL или pg_repack. Эти операции требуют свободного места на диске и выполняются в нерабочее время.
DBCC SHRINKFILE (N'MyBase1C' , 0, TRUNCATEONLY)Профилактика: как не дать базе разрастись снова
Настройте регламентные задания очистки устаревших данных, ограничьте глубину хранения версий объектов, периодически сокращайте журнал регистрации. Следите за планами обмена и отключайте регистрацию изменений для неиспользуемых узлов.
Полезно раз в квартал контролировать размер файла базы и размер крупнейших таблиц: резкий скачок роста — сигнал о зацикленном обмене, ошибочной массовой загрузке или включённом детальном логировании. Ранняя диагностика дешевле, чем аварийная свёртка.
Как проверить результат
Файл заметно уменьшился после сжатия таблиц
Размер не изменился — сжатие не выполнялось или данные не удалены
ОСВ после свёртки совпадает с сохранённой
Расхождения по счетам — ошибки ввода остатков
Отчёты и проведение ускорились
Ошибки при открытии документов — нужно тестирование и исправление
Что важно запомнить
Безопасный порядок: копия → анализ размеров таблиц → удаление помеченных и служебных данных → свёртка периода → тестирование и исправление со сжатием → реиндексация на СУБД. Каждый шаг проверяется, а свёртка выполняется только после согласования с учётным отделом.
Частые вопросы
Можно ли уменьшить базу 1С без свёртки?
Да, если основной объём занимают версии объектов, журнал регистрации, помеченные объекты и данные обменов. Их очистка плюс сжатие таблиц часто даёт заметное уменьшение без потери первичных документов.
Почему после удаления документов файл базы не уменьшился?
Платформа помечает место внутри файла как свободное, но не возвращает его операционной системе. Выполните тестирование и исправление с опцией сжатия таблиц, а для клиент-серверной базы — сжатие средствами СУБД.
На какую дату лучше делать свёртку?
Обычно на начало года, за который полностью сдана отчётность и завершены проверки. Слишком свежая дата свёртки рискованна: могут понадобиться корректировки прошлых периодов.
Опасно ли тестирование и исправление?
При включённых опциях исправления есть риск удаления «битых» данных, поэтому его запускают только после резервного копирования. Режим «только тестирование» безопасен и показывает ошибки без изменений.
Как узнать, какие таблицы занимают больше всего места?
В клиент-серверной базе — отчётом по размеру таблиц в СУБД (например, Disk Usage by Table в MS SQL). В файловой — типовыми обработками анализа размера таблиц с диска ИТС.
Нужно ли останавливать работу пользователей?
Да. Удаление помеченных объектов в монопольном режиме, свёртка и тестирование с исправлением требуют отсутствия активных сеансов. Планируйте работы на нерабочее время с предупреждением пользователей.