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

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

Как очистить базу данных 1С: пошаговая инструкция

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

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

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

Главное правило: любая чистка выполняется только после создания резервной копии и только в монопольном режиме. Ошибка на этапе удаления данных может привести к потере учётных сведений, восстановить которые без копии будет невозможно.

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

Перед любыми действиями с данными создайте полную копию базы. Для файловой базы достаточно скопировать файл 1Cv8.1CD при закрытых сеансах всех пользователей либо сделать выгрузку через конфигуратор: «Администрирование → Выгрузить информационную базу». Для клиент-серверной базы используйте средства СУБД (backup в MS SQL или PostgreSQL) или выгрузку в dt через конфигуратор.

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

Удаление помеченных объектов

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

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

Если объектов очень много (сотни тысяч), операция может занять часы. Запланируйте её на нерабочее время. После завершения проверьте протокол: объекты, которые не удалось удалить из-за ссылок, либо оставьте, либо сначала уберите ссылки на них.

Свёртка базы и удаление старых периодов

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

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

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

Удаление помеченных объектов

Безопасная рутинная чистка. Подходит всегда, не затрагивает учётные данные, но освобождает ограниченный объём.

Свёртка базы

Радикально уменьшает размер, но уничтожает детальную историю. Требует сверки остатков и архивации старых отчётов.

Новая чистая база с переносом остатков

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

Сокращение журнала регистрации и служебных данных

Журнал регистрации в больших базах может занимать гигабайты, особенно если включена регистрация всех событий. Сократите его через конфигуратор: «Администрирование → Журнал регистрации → кнопка „Ещё“ / меню → Сократить». Укажите дату, до которой удалить события, и обязательно сохраните сокращаемую часть в файл, если история действий пользователей может понадобиться для расследований.

Дополнительно проверьте настройку «Администрирование → Настройка журнала регистрации»: если регистрируются все события включая доступ к данным, журнал будет расти очень быстро. Оставьте только ошибки, предупреждения и ключевые изменения данных.

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

Тестирование и исправление, сжатие файловой базы

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

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

Порядок действий
  1. 1
    Создайте резервную копию и проверьте, что она открывается
  2. 2
    Завершите сеансы пользователей, отключите регламентные задания
  3. 3
    Удалите помеченные объекты выборочно или полностью
  4. 4
    Сократите журнал регистрации и очистите версии объектов
  5. 5
    Выполните свёртку, если нужно убрать старые периоды
  6. 6
    Запустите тестирование и исправление со сжатием таблиц
  7. 7
    Проверьте размер базы и сформируйте контрольные отчёты

Чистка клиент-серверной базы на уровне СУБД

В клиент-серверном варианте после удаления данных из 1С размер файлов базы на СУБД тоже не уменьшится сам по себе. Для MS SQL используется сжатие файлов базы (DBCC SHRINKFILE / SHRINKDATABASE), для PostgreSQL — VACUUM FULL или pg_repack. Эти операции ресурсоёмкие, на PostgreSQL VACUUM FULL блокирует таблицы, поэтому выполняйте их в окно обслуживания.

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

Типичные ошибки
01
Удаление помеченных объектов без копии — при ошибочной пометке данные теряются безвозвратно
02
Сжатие файловой базы простым удалением файла 1Cv8.1CD.g1c или ручной правкой — база перестаёт открываться
03
Свёртка без сверки остатков — расхождения по регистрам обнаруживаются месяцами позже
04
Очистка регистрации изменений до завершения обмена — данные в базу-корреспондент не уходят
05
Запуск тестирования и исправления при активных пользователях — сбой операции и риск повреждения таблиц

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

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

Чтобы база не разрасталась снова, настройте регламент: автоматическое удаление помеченных объектов по расписанию, ограничение глубины хранения версий объектов, периодическое сокращение журнала регистрации, контроль объёма присоединённых файлов. Регулярная профилактика по 30–60 минут в месяц избавляет от необходимости многочасовых авральных чисток.

Итог

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

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

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

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

Удалённые записи освобождают место внутри файла, но сам файл не сжимается. Для файловой базы запустите «Тестирование и исправление» с включённым пунктом «Сжатие таблиц информационной базы». Для клиент-серверной — используйте средства сжатия на стороне СУБД.

Можно ли удалить помеченные объекты, на которые есть ссылки?

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

Как часто нужно чистить базу 1С?

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

Что делать, если тестирование и исправление зависло или прервалось?

Не запускайте базу в рабочем режиме. Восстановите её из резервной копии, сделанной перед операцией, проверьте свободное место на диске (сжатию нужен запас, сопоставимый с размером базы) и повторите процедуру, при необходимости — по частям.

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

Частично: удаление помеченных объектов, сокращение журнала регистрации и свёртка доступны из режима «1С:Предприятие» в типовых конфигурациях через раздел «Администрирование». Но сжатие таблиц и тестирование с исправлением выполняются только из конфигуратора.

Ускорит ли работу удаление старых документов без свёртки?

Незначительно. Само по себе удаление уменьшает объём таблиц, но скорость работы сильнее зависит от индексов, статистики и объёма актуальных данных. Для заметного эффекта сочетайте чистку с реиндексацией и обновлением статистики на СУБД.