Администрирование · 10 мин
Как уменьшить размер базы 1С
Как уменьшить размер базы 1С: очистка данных, свертка, удаление помеченных объектов, сжатие файловой базы и SQL. Пошаговые инструкции и меры безопасности.
С ростом объёма учёта база 1С неизбежно увеличивается: накапливаются документы, движения по регистрам, версии объектов, присоединённые файлы и служебные данные. Симптомы переразмера типичны — медленное проведение документов, долгое формирование отчётов, затянутые обновления конфигурации и резервное копирование, которое занимает часы.
Уменьшение размера базы — это не одна операция, а набор методов: от безобидной очистки служебных данных до свёртки остатков с потерей детальной истории. Выбор зависит от типа развёртывания (файловая база или клиент-серверная на SQL Server/PostgreSQL), от того, что именно занимает место, и от требований к хранению истории учёта.
Перед любыми действиями сделайте полную резервную копию и проверьте, что она восстанавливается. Часть операций необратима: удалённые документы прошлых периодов восстановить без копии невозможно, а ошибки при свёртке могут разрушить корректность остатков.
Что занимает место в базе 1С и как это выяснить
Прежде чем уменьшать базу, нужно понять структуру её объёма. В типовой базе основные потребители места: регистры накопления и сведений (особенно с большим числом движений), документы прошлых лет, присоединённые файлы (сканы, картинки номенклатуры), версии объектов при включённом версионировании, журналы регистрации и служебные таблицы движений.
В типовых конфигурациях на базе БСП есть обработка оценки размеров таблиц. В клиент-серверном варианте размер таблиц виден штатными средствами СУБД: для MS SQL — отчёт «Disk Usage by Table» в Management Studio, для PostgreSQL — запросы к pg_total_relation_size. Для файловой базы размер виден по файлу 1Cv8.1CD, а внутреннюю структуру оценивают косвенно — по объёму выгрузки отдельных данных.
Выполнить тестирование и исправление с реструктуризацией таблиц
Проверить настройку хранения файлов: в томах на диске или в базе
Оценить необходимость свёртки базы на дату
Проверить историю версий объектов и планы обмена
Безопасная очистка без потери учётных данных
Первый этап — удаление того, что не влияет на учёт. Это самый безопасный способ уменьшить базу, и начинать всегда следует с него. Типовые инструменты находятся в разделе «Администрирование».
Удаление помеченных объектов: раздел «Администрирование — Обслуживание — Удаление помеченных объектов». За годы работы в базе скапливаются тысячи помеченных документов и элементов справочников — они занимают место и замедляют запросы. Перед удалением убедитесь, что помеченное действительно не нужно: механизм покажет объекты, которые мешают удалению из-за ссылок.
Очистка версий объектов: если включено версионирование, история изменений документов и справочников может занимать значительный объём. В настройках версионирования ограничьте срок хранения версий или отключите его для объектов, где история не нужна, затем выполните очистку устаревших версий.
Журнал регистрации: старые записи журнала можно сократить через «Сервис — Журнал регистрации — Сократить» в конфигураторе, указав дату, до которой удалить события. Предварительно сохраните выгрузку журнала, если история действий пользователей нужна для аудита.
- 1Сделайте резервную копию базы и проверьте восстановление на копии
- 2Удалите помеченные объекты через штатную обработку
- 3Очистите устаревшие версии объектов и настройте сроки хранения
- 4Сократите журнал регистрации, сохранив выгрузку при необходимости
- 5Очистите неактуальные регистрации изменений в планах обмена
- 6Проверьте размер базы и работу ключевых операций после очистки
Работа с присоединёнными файлами
Если в базе хранятся сканы документов, изображения товаров и вложения писем, со временем они могут занимать больше половины объёма. Проверьте настройку: «Администрирование — Работа с файлами — Хранить файлы в томах на диске». Хранение в томах выносит файлы из базы в файловую систему, что резко снижает размер самой базы и ускоряет её резервное копирование.
Для уже накопленных файлов в типовых конфигурациях есть обработки переноса файлов из базы в тома. После переноса убедитесь, что файлы открываются из карточек объектов, и только потом выполняйте сжатие базы — иначе освободившееся место останется «внутри» файла базы.
Дополнительно проверьте дубли файлов: при многократной загрузке одинаковых изображений в базе копятся копии. В некоторых конфигурациях есть служебные обработки поиска дублей по контрольным суммам.
Свёртка базы: когда без неё не обойтись
Свёртка — это замена всех документов и движений до выбранной даты на документы ввода остатков. После свёртки детальная история до даты свёртки исчезает: отчёты по старым периодам в разрезе документов сформировать нельзя, останутся только остатки. Это самый радикальный и самый эффективный способ уменьшить базу в разы.
Типовые конфигурации (Бухгалтерия, Управление торговлей, ERP) содержат обработку «Свёртка информационной базы». Она формирует документы ввода остатков по регистрам на дату свёртки и помечает на удаление старые документы. Процесс длительный — на больших базах занимает часы, поэтому выполняйте его в нерабочее время в монопольном режиме.
Критически важно: после свёртки проверьте сходимость остатков. Сформируйте оборотно-сальдовую ведомость, отчёты по складу, взаиморасчётам и НДС на дату свёртки в старой копии базы и в свёрнутой — значения должны совпадать. Расхождения означают, что какие-то регистры или документы обработаны некорректно.
Сжатие файловой базы и базы на SQL
Удаление данных внутри базы не всегда уменьшает файл на диске: освобождённое место остаётся зарезервированным под будущие записи. Чтобы физически уменьшить файл, нужна отдельная операция.
Для файловой базы: запустите конфигуратор в монопольном режиме, «Администрирование — Тестирование и исправление», отметьте «Реструктуризация таблиц информационной базы» и «Сжатие таблиц информационной базы». Операция на большой базе занимает продолжительное время и требует свободного места на диске — в процессе создаются временные структуры.
Для MS SQL Server: используйте сжатие базы или файлов (DBCC SHRINKDATABASE / SHRINKFILE) через Management Studio, предварительно оценив фрагментацию индексов — после shrink рекомендуется перестроить индексы. Для PostgreSQL: полная очистка VACUUM FULL перестраивает таблицы и возвращает место системе, но блокирует таблицы на время выполнения.
EXEC sp_spaceused; -- оценка размера базы в MS SQL
DBCC SHRINKFILE (N'Base1C_Data', TRUNCATEONLY);Альтернатива: перенос данных в новую базу
Если свёртка не подходит из-за сложности учёта или большого числа доработок, альтернатива — создание чистой базы и перенос в неё только актуальных данных: справочников и остатков на дату перехода. Для типовых конфигураций существуют штатные помощники перехода и обработки переноса данных.
Плюс подхода — новая база изначально компактна и не содержит накопленных ошибок структуры. Минус — трудоёмкость: нужно перенести все нужные справочники, остатки по всем разделам учёта, настройки и доработки, а затем параллельно проверить корректность. Старая база остаётся в режиме «только чтение» как архив для доступа к истории.
Сравнение вариантов уменьшения базы
Безопасно и быстро, но обычно освобождает ограниченный объём. Подходит как первый шаг всегда.
Эффективно, если файлы занимают значительную долю базы. Требует настройки томов и доступности дискового пространства.
Максимальное уменьшение, но теряется детальная история. Требует сверки остатков и закрытого периода.
Чистая компактная база без потери архива, но самый трудоёмкий вариант с риском пропустить данные.
Проверка результата и частые ошибки
После любого метода оцените результат по двум критериям: физический размер файла базы (или данных в СУБД) и работоспособность учёта. Проведите типовые документы, сформируйте ключевые отчёты, проверьте обмены с другими системами — уменьшение базы не должно ничего сломать.
Как проверить результат
Размер заметно уменьшился после сжатия/реструктуризации
Размер не изменился — сжатие не выполнялось или прервано
ОСВ и складские отчёты совпадают с архивной копией
Расхождения по счетам или складам — свёртка выполнена с ошибками
Файлы открываются из карточек после переноса в тома
Ошибки «файл не найден» — тома настроены неверно
Документы проводятся, обмены выполняются без ошибок
Ошибки ссылочной целостности — удалены нужные объекты
FAQ: частые вопросы об уменьшении базы 1С
Почему после удаления документов файл базы не стал меньше?
Удалённые данные лишь помечаются как свободное место внутри файла. Для физического уменьшения выполните тестирование и исправление с реструктуризацией и сжатием (файловая база) или shrink/vacuum средствами СУБД (клиент-серверная).
Можно ли уменьшить базу без потери истории документов?
Частично да: очистка версий объектов, журнала регистрации, помеченных объектов и перенос файлов в тома не затрагивают учётные документы. Но радикально уменьшить базу без свёртки или переноса истории в архивную базу не получится.
На какую дату лучше делать свёртку?
Обычно выбирают начало текущего или прошлого года, чтобы сворачиваемые периоды были полностью закрыты, сдана отчётность и завершены проверки. Не сворачивайте периоды, по которым возможны корректировки или камеральные запросы.
Опасно ли сжатие базы средствами SQL Server?
Сама операция shrink безопасна для данных, но сильно фрагментирует индексы, что временно ухудшает производительность. После сжатия выполните перестроение или реорганизацию индексов и не используйте shrink как регулярную процедуру.
Что делать, если база снова быстро растёт после чистки?
Ищите источник роста: включённое версионирование без ограничения срока, накопление регистрации изменений в планах обмена, хранение файлов в базе, избыточное протоколирование. Устраните причину в настройках, иначе чистка придётся регулярно.
Что важно запомнить
Начинайте с анализа, что занимает место, и с безопасной очистки служебных данных. Радикальное уменьшение даёт свёртка или перенос в новую базу, а физическое сжатие файла — отдельная обязательная операция. Любые действия выполняйте только после проверенной резервной копии и завершайте сверкой остатков и проверкой работы пользователей.