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