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

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

Как уменьшить размер базы 1С

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

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

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

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

Что занимает место в базе 1С и как это выяснить

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

В типовых конфигурациях на базе БСП есть обработка оценки размеров таблиц. В клиент-серверном варианте размер таблиц виден штатными средствами СУБД: для MS SQL — отчёт «Disk Usage by Table» в Management Studio, для PostgreSQL — запросы к pg_total_relation_size. Для файловой базы размер виден по файлу 1Cv8.1CD, а внутреннюю структуру оценивают косвенно — по объёму выгрузки отдельных данных.

Файл 1Cv8.1CD растёт, но данных немногоВнутренняя фрагментация

Выполнить тестирование и исправление с реструктуризацией таблиц

Большой объём присоединённых файловФайлы хранятся в базе

Проверить настройку хранения файлов: в томах на диске или в базе

Медленные отчёты по старым периодамИзбыточная история движений

Оценить необходимость свёртки базы на дату

Быстрый рост без роста документовВерсионирование или регистрация изменений

Проверить историю версий объектов и планы обмена

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

Первый этап — удаление того, что не влияет на учёт. Это самый безопасный способ уменьшить базу, и начинать всегда следует с него. Типовые инструменты находятся в разделе «Администрирование».

Удаление помеченных объектов: раздел «Администрирование — Обслуживание — Удаление помеченных объектов». За годы работы в базе скапливаются тысячи помеченных документов и элементов справочников — они занимают место и замедляют запросы. Перед удалением убедитесь, что помеченное действительно не нужно: механизм покажет объекты, которые мешают удалению из-за ссылок.

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

Журнал регистрации: старые записи журнала можно сократить через «Сервис — Журнал регистрации — Сократить» в конфигураторе, указав дату, до которой удалить события. Предварительно сохраните выгрузку журнала, если история действий пользователей нужна для аудита.

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

Работа с присоединёнными файлами

Если в базе хранятся сканы документов, изображения товаров и вложения писем, со временем они могут занимать больше половины объёма. Проверьте настройку: «Администрирование — Работа с файлами — Хранить файлы в томах на диске». Хранение в томах выносит файлы из базы в файловую систему, что резко снижает размер самой базы и ускоряет её резервное копирование.

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

Дополнительно проверьте дубли файлов: при многократной загрузке одинаковых изображений в базе копятся копии. В некоторых конфигурациях есть служебные обработки поиска дублей по контрольным суммам.

Свёртка базы: когда без неё не обойтись

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

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

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

Сжатие файловой базы и базы на SQL

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

Для файловой базы: запустите конфигуратор в монопольном режиме, «Администрирование — Тестирование и исправление», отметьте «Реструктуризация таблиц информационной базы» и «Сжатие таблиц информационной базы». Операция на большой базе занимает продолжительное время и требует свободного места на диске — в процессе создаются временные структуры.

Для MS SQL Server: используйте сжатие базы или файлов (DBCC SHRINKDATABASE / SHRINKFILE) через Management Studio, предварительно оценив фрагментацию индексов — после shrink рекомендуется перестроить индексы. Для PostgreSQL: полная очистка VACUUM FULL перестраивает таблицы и возвращает место системе, но блокирует таблицы на время выполнения.

sql
EXEC sp_spaceused; -- оценка размера базы в MS SQL
DBCC SHRINKFILE (N'Base1C_Data', TRUNCATEONLY);

Альтернатива: перенос данных в новую базу

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

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

Сравнение вариантов уменьшения базы

Очистка служебных данных

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

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

Эффективно, если файлы занимают значительную долю базы. Требует настройки томов и доступности дискового пространства.

Свёртка базы

Максимальное уменьшение, но теряется детальная история. Требует сверки остатков и закрытого периода.

Перенос в новую базу

Чистая компактная база без потери архива, но самый трудоёмкий вариант с риском пропустить данные.

Проверка результата и частые ошибки

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

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

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

Размер файла 1Cv8.1CD или базы в СУБД
Норма

Размер заметно уменьшился после сжатия/реструктуризации

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

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

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

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

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

Расхождения по счетам или складам — свёртка выполнена с ошибками

Открытие присоединённых файлов
Норма

Файлы открываются из карточек после переноса в тома

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

Ошибки «файл не найден» — тома настроены неверно

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

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

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

Ошибки ссылочной целостности — удалены нужные объекты

Типичные ошибки
01
Удаление данных без резервной копии — при ошибке восстановить нечего, всегда делайте копию и проверяйте её
02
Свёртка при незакрытом периоде — остатки формируются по некорректным данным, итоги не сходятся
03
Ожидание уменьшения файла сразу после удаления — без сжатия/реструктуризации файл базы не уменьшится
04
Удаление «лишних» документов вручную — нарушается ссылочная целостность и последовательность проведения
05
Игнорирование регистрации изменений в планах обмена — база продолжает расти даже после чистки

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

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

Удалённые данные лишь помечаются как свободное место внутри файла. Для физического уменьшения выполните тестирование и исправление с реструктуризацией и сжатием (файловая база) или shrink/vacuum средствами СУБД (клиент-серверная).

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

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

На какую дату лучше делать свёртку?

Обычно выбирают начало текущего или прошлого года, чтобы сворачиваемые периоды были полностью закрыты, сдана отчётность и завершены проверки. Не сворачивайте периоды, по которым возможны корректировки или камеральные запросы.

Опасно ли сжатие базы средствами SQL Server?

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

Что делать, если база снова быстро растёт после чистки?

Ищите источник роста: включённое версионирование без ограничения срока, накопление регистрации изменений в планах обмена, хранение файлов в базе, избыточное протоколирование. Устраните причину в настройках, иначе чистка придётся регулярно.

Итог

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

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