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

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

Как урезать базу 1С: рабочие способы уменьшить размер

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

База 1С растёт постоянно: документы, движения по регистрам, версии объектов, история обменов и служебные журналы накапливаются годами. Когда размер файловой базы переваливает за несколько гигабайт, замедляются открытие программы, проведение документов, формирование отчётов и создание резервных копий. «Урезать базу» можно разными способами — от безопасного удаления мусора до радикальной свёртки периода, и выбор зависит от того, что именно занимает место.

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

Сначала выясните, что занимает место

Бессмысленно сворачивать документы, если половину объёма занимают версии объектов или присоединённые файлы. Для файловой базы посмотрите размер файла 1Cv8.1CD в каталоге базы. Для клиент-серверной — размер данных и журнала транзакций в свойствах базы на SQL Server.

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

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

Поможет свёртка периода или удаление старых документов

Включено версионирование объектовМесто занимают версии

Очистка истории версий через регламентное задание

Много обменов с другими системамиРаздута история обменов

Очистка истории и неотправленных сообщений

Много сканов и картинок в базеПрисоединённые файлы

Перенос файлов в тома на диске

Сделайте резервную копию и проверьте её

Это не формальность, а единственный способ откатиться. Для файловой базы достаточно скопировать каталог с файлом 1Cv8.1CD при закрытых сеансах или сделать выгрузку в .dt через конфигуратор (Файл → Сохранить копию / Выгрузить информационную базу). Для клиент-серверной базы — полный бэкап средствами SQL Server.

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

Быстрая чистка без потери учётных данных

Первый этап — удаление того, что не влияет на учёт. Это безопасно и часто даёт заметный эффект, особенно если база давно не обслуживалась.

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

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

История обменов и очереди сообщений. Узлы обменов, давно не используемые, и накопленные сообщения обмена удаляются через настройки синхронизации. Также проверьте регистры результатов обмена данными — они чистятся штатными средствами.

Журнал регистрации. В конфигураторе: Администрирование → Журнал регистрации → Сократить. Укажите дату, до которой удалить события. Журнал редко занимает гигабайты, но на старых базах вклад бывает ощутимым.

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

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

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

Сжатие выполняется в монопольном режиме и на большой базе может занять часы. Запускайте его в нерабочее время. После завершения сравните размер файла: если база долго не обслуживалась, уменьшение может быть существенным. Альтернатива — выгрузка в .dt и загрузка в пустую базу: свежезагруженный файл часто компактнее, но этот путь дольше и требует больше свободного места на диске.

Свёртка базы: радикальное уменьшение периода

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

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

Как подготовиться к свёртке

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

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

Маршрут решения

Как выбрать действие

Нужно уменьшить базу, но история за прошлые годы нужна в работеОграничьтесь чисткой версий, обменов и сжатием — свёртка не подходит
Старые периоды нужны редко, только для справокСверните базу, а архивную копию храните отдельно и открывайте по требованию
База файловая и после удаления данных файл не уменьшилсяВыполните сжатие таблиц через Тестирование и исправление
База на SQL Server, данные удалены, файлы не уменьшилисьСожмите файлы средствами СУБД после согласования с администратором

Особенности клиент-серверных баз на SQL Server

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

Проверьте также модель восстановления базы. Если стоит Full, журнал транзакций может разрастись до огромных размеров без регулярных бэкапов журнала. Для баз 1С часто достаточно модели Simple — тогда журнал не растёт бесконтрольно. Смену модели и настройку плана обслуживания (реиндексация, обновление статистики) согласуйте с администратором СУБД.

sql
-- Проверить размер данных и журнала (SQL Server)
EXEC sp_spaceused;
-- Сжать файлы после массового удаления данных (разово!)
DBCC SHRINKDATABASE (N'ИмяБазы', 10);

Типичные ошибки и контроль результата

Типичные ошибки
01
Свёртка без проверенной резервной копии — при ошибке историю не восстановить
02
Удаление помеченных объектов без монопольного режима — часть объектов остаётся из-за занятых сеансов
03
Регулярный shrink базы SQL Server — индексы фрагментируются, отчёты тормозят
04
Свёртка на слишком свежую дату — приходится восстанавливать архив и повторять всё заново
05
Очистка версий и обменов без отключения регламентных заданий — история накапливается снова

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

Контрольные точки

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

Размер файла базы
Норма

Файл заметно уменьшился после сжатия/shrink

Тревожный признак

Размер не изменился — сжатие не выполнялось или данных удалено мало

Остатки на дату свёртки
Норма

ОСВ и ключевые отчёты совпадают с архивной копией

Тревожный признак

Расхождения в остатках — свёртку нужно переделывать из архива

Работа пользователей
Норма

Документы проводятся, обмены проходят без ошибок

Тревожный признак

Ошибки ссылочной целостности — выполнить ТиИ с проверкой ссылок

FAQ

Можно ли уменьшить базу 1С без свёртки?

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

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

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

Что будет со старой отчётностью после свёртки?

В свёрнутой базе отчёты за удалённые периоды построить нельзя. Поэтому архивную копию базы хранят отдельно и открывают при необходимости — например, для ответа на требование налоговой. Учитывайте сроки хранения документов, установленные законодательством.

Сколько времени занимает свёртка?

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

Нужно ли урезать базу регулярно?

Свёртку обычно делают раз в несколько лет. А вот чистку версий, истории обменов и журнала регистрации стоит автоматизировать регламентными заданиями — тогда база растёт медленнее и радикальные меры откладываются.

Итог

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

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