Администрирование · 11 мин
Как обрезать базу 1С 8.3 без потери данных
Пошаговая инструкция по обрезке базы 1С 8.3: свёртка итогов, пометка и удаление документов, тестирование и исправление, сжатие SQL-базы без потери данных.
Со временем любая база 1С 8.3 разрастается: накапливаются документы за прошлые годы, движения регистров, версии объектов и служебные данные. Результат — медленные отчёты, долгие обновления, громоздкие резервные копии и ошибки при выгрузке. Обрезка базы решает эту проблему: устаревшие периоды сворачиваются или удаляются, а актуальные данные остаются в рабочем состоянии.
Под «обрезкой» обычно понимают три разные операции: свёртку итогов на дату (остатки вместо документов), удаление помеченных объектов и физическое сжатие файлов базы на уровне СУБД или файловой системы. Часто их выполняют вместе, но это самостоятельные процедуры с разными рисками и результатами.
Главное правило: любая обрезка начинается с полной резервной копии и проверки на тестовой копии. Свёртка — операция необратимая в части переноса документов: вернуть удалённые документы можно только из архива. Поэтому ниже разобран порядок действий, который минимизирует риск потери данных.
Когда базу действительно нужно обрезать
Обрезка оправдана, когда объём базы мешает работе: регламентные задания не укладываются в ночное окно, обновление конфигурации занимает часы, файл 1Cv8.1CD в файловом варианте приближается к практическим ограничениям по размеру, а пользователи жалуются на скорость отчётов. Типичный порог для файловой базы — несколько гигабайт: дальше растёт риск повреждений и заметных тормозов.
Не стоит обрезать базу «для профилактики», если она работает стабильно. Свёртка удаляет детальную историю: провести документ прошлого периода, перепровести цепочку или получить расшифровку по старому документу после обрезки уже нельзя. Если бухгалтерии регулярно нужны корректировки прошлых периодов, сначала закройте эти задачи.
Сравните размер резервных копий за несколько месяцев
Замерьте время выполнения типовых операций
Большие таблицы регистров тормозят реструктуризацию
Проверьте длительность выгрузки dt или бэкапа СУБД
Подготовка: резервная копия и тестовая база
Первый шаг — полная резервная копия. Для файловой базы это выгрузка через конфигуратор («Администрирование» → «Выгрузить информационную базу») либо копирование файла 1Cv8.1CD при отсутствии активных сеансов. Для клиент-серверной базы — штатный бэкап средствами MS SQL Server или PostgreSQL. Храните копию на отдельном носителе, а не на том же диске.
Второй шаг — развёртывание копии в тестовой базе. На ней выполняется вся обрезка: вы увидите реальную длительность операций, проверите корректность остатков после свёртки и поймёте, какие подсистемы «сломаются». Только после успешной проверки на копии процедуру повторяют на рабочей базе, обычно в выходные или ночью.
Перед обрезкой также завершите все активные сеансы пользователей и отключите регламентные задания. В консоли кластера или в режиме «Предприятие» («Администрирование» → «Обслуживание» → «Активные пользователи») проверьте, что в базе никого нет, и установите блокировку сеансов.
Свёртка итогов на дату
Свёртка — основной способ обрезки учётных данных. На выбранную дату формируются документы «Операция» или специальные документы ввода остатков по счетам, регистрам накопления и сведений, а все документы раньше даты свёртки помечаются на удаление или исключаются. В результате история заменяется «срезом» остатков.
В типовых конфигурациях (Бухгалтерия предприятия, Управление торговлей, ERP) есть штатная обработка свёртки: в БП 3.0 это «Администрирование» → «Обслуживание» → «Свертка информационной базы». Обработка проводит анализ, предлагает дату свёртки (обычно начало года, за который сдана отчётность) и формирует документы ввода остатков. Для самописных конфигураций используются типовые обработки свёртки с диска ИТС или разрабатываются собственные.
Выбор даты свёртки
Дату выбирают так, чтобы за сворачиваемый период была сдана и принята вся регламентированная отчётность и закрыты налоговые проверки. Практический ориентир — начало года, за который истёк срок камеральной проверки деклараций. Слишком ранняя дата оставит в базе лишние годы, слишком поздняя — лишит возможности сделать корректировку прошлого периода, если она вдруг понадобится.
Проверка после свёртки
После свёртки обязательно сравните отчёты «до» и «после»: оборотно-сальдовую ведомость, остатки по складу, взаиморасчёты с контрагентами на дату свёртки. Показатели должны совпасть с точностью до копейки. Расхождения означают, что часть данных не попала в документы ввода остатков — такую базу в работу отдавать нельзя.
- 1Сделайте резервную копию и разверните тестовую базу
- 2Завершите сеансы и заблокируйте вход пользователей
- 3Запустите обработку свёртки и укажите дату
- 4Дождитесь формирования документов ввода остатков
- 5Сверьте ОСВ и остатки до и после на дату свёртки
- 6Пометьте документы прошлых периодов на удаление
- 7Выполните удаление помеченных объектов
- 8Повторите процедуру на рабочей базе после успешной проверки
Удаление помеченных объектов и очистка служебных данных
После свёртки в базе остаются тысячи помеченных документов. Их удаляют штатно: «Администрирование» → «Обслуживание» → «Удаление помеченных объектов». Режим «Выборочное удаление» позволяет контролировать процесс, монопольный режим работает быстрее. Если удаление «зависает» на отдельных объектах из-за ссылочной целостности, смотрите список препятствующих ссылок и разбирайте их вручную.
Заметную часть объёма часто занимают не документы, а служебные данные: версии объектов (если включено версионирование), история обменов, журналы регистрации, результаты фоновых заданий, неактуальные данные сегментов. В типовых конфигурациях для этого есть регламентные очистки и обработки «Очистка версий объектов». Журнал регистрации сокращается через конфигуратор («Администрирование» → «Журнал регистрации» → «Сократить») с выгрузкой старой части в архив.
Физическое сжатие базы
После удаления данных внутри файлов базы остаются пустые страницы, и размер файлов на диске не меняется. Чтобы вернуть место, выполняют физическое сжатие — процедура зависит от варианта работы.
Файловая база
Для файловой базы используется «Тестирование и исправление» в конфигураторе с включённой опцией «Сжатие таблиц информационной базы». Операция пересоздаёт таблицы и индексы, убирая пустоты. Выполняется монопольно, на большой базе занимает часы. Альтернатива — выгрузка базы в dt и загрузка обратно: загруженная база изначально компактна.
Клиент-серверная база (MS SQL)
На SQL Server применяют DBCC SHRINKDATABASE или SHRINKFILE через SQL Server Management Studio, а также перестроение индексов (ALTER INDEX REBUILD), которое уплотняет данные. Важно понимать: постоянный shrink — плохая практика, он фрагментирует индексы. Его делают один раз после массового удаления, а далее поддерживают регламентным перестроением индексов.
Способы уменьшить базу
Убирает историю документов, заменяя её остатками. Необратима, но даёт максимальный эффект по объёму и скорости
Очищает уже ненужные объекты. Безопасна, но не уменьшает файлы на диске без сжатия
Уплотняет файловую базу. Долго на больших объёмах, требует монопольного доступа
Пересоздаёт базу компактной. Требует места под выгрузку и проверки целостности
Возвращает место на диске в клиент-серверном варианте. Фрагментирует индексы, после него нужен rebuild
Частые ошибки и ограничения
Самая распространённая ошибка — обрезка без тестового прогона. Свёртка на рабочей базе может оборваться по тайм-ауту, нехватке места на диске или из-за ошибок в данных, и база останется в промежуточном состоянии. Вторая типичная ошибка — свёртка при незакрытых периодах: потом выясняется, что нужна корректировка прошлого года, а документов уже нет.
Ещё одна ловушка — ожидание, что после удаления документов файл базы сам уменьшится. Этого не произойдёт ни в файловом, ни в клиент-серверном варианте без отдельной операции сжатия. И наоборот: сжатие без предварительной свёртки и удаления почти ничего не даст — пустот в базе мало.
Учитывайте ограничения: во время свёртки, удаления и сжатия база недоступна пользователям, а на диске должно быть свободное место — часто сопоставимое с размером самой базы (для выгрузки dt или перестроения таблиц).
Проверка результата и регламент на будущее
После завершения всех этапов зафиксируйте результат: размер файлов базы, время выполнения типовых отчётов и закрытия месяца, успешность регламентных заданий и обменов. Сравните с показателями «до». Если обмены с другими базами используются, проверьте, что узлы обмена не потеряли регистрацию изменений и синхронизация проходит без ошибок.
Чтобы база не разрасталась снова, настройте регламент: периодическую очистку версий объектов и истории обменов, сокращение журнала регистрации, плановое удаление помеченных объектов и перестроение индексов на SQL Server. Свёртку учётных данных обычно планируют раз в год — после сдачи годовой отчётности.
Как проверить результат обрезки
Заметно меньше исходного после сжатия
Размер не изменился — сжатие не выполнялось или не сработало
Совпадают с отчётами до свёртки
Есть расхождения — остатки перенесены не полностью
Выполняются без ошибок
Ошибки в журнале регистрации, обрывы синхронизации
Время формирования сократилось
Скорость прежняя — возможно, нужна реиндексация
Частые вопросы
Можно ли обрезать базу без свёртки, просто удалив старые документы?
Технически да, но это опасно: удаление документов без ввода остатков исказит итоги по регистрам и счетам — остатки «съедут». Если документы не участвуют в итогах (например, старые служебные файлы или черновики), их можно удалить напрямую. Для учётных документов правильный путь — свёртка.
Сколько времени занимает обрезка большой базы?
Зависит от объёма и оборудования: на базе в десятки гигабайт свёртка, удаление и сжатие вместе могут занять от нескольких часов до суток. Именно поэтому процедуру сначала прогоняют на копии — чтобы узнать реальную длительность и спланировать окно недоступности.
Нужно ли сжимать базу на SQL Server после каждого удаления?
Нет. SHRINK оправдан один раз после массового удаления данных. При регулярном использовании он фрагментирует индексы и ухудшает производительность. Для повседневного обслуживания используют перестроение и реорганизацию индексов, а не сжатие.
Что делать, если свёртка оборвалась на середине?
Не продолжайте работу в такой базе: часть остатков уже введена, часть документов помечена — состояние непредсказуемое. Восстановите базу из резервной копии, устраните причину сбоя (нехватка места, тайм-ауты, ошибки данных) и повторите процедуру сначала.
Можно ли обрезать только журнал регистрации?
Да, это независимая и безопасная операция: в конфигураторе откройте журнал регистрации и используйте функцию сокращения, предварительно выгрузив старую часть в файл, если история может понадобиться. На учётные данные это никак не влияет.
Что важно запомнить
Обрезка базы 1С 8.3 — это последовательность: резервная копия, свёртка итогов на дату, удаление помеченных объектов и физическое сжатие. Каждый шаг сначала отрабатывается на тестовой копии, результат проверяется сверкой остатков. Без сжатия файлы базы не уменьшатся, а без копии свёртка необратима.