Бэкап базы 1С не успевает за ночь из-за PDF: выносим сканы в тома
Чтобы PDF не раздували файл базы 1С, храните присоединённые файлы в томах на диске сервера: в базе остаётся только ссылка и служебные данные, сами сканы лежат в каталогах по датам. Включите хранение в томах, перенесите уже загруженные файлы и добавьте каталог томов в резервное копирование отдельно от базы.
Почему файл базы 1С раздувается из-за PDF 📈
Ночной бэкап раньше заканчивался к полуночи. Теперь он идёт до утра и пересекается с началом рабочего дня: в 8:30 бухгалтеры открывают 1С, а сервер ещё пишет копию. Администратор смотрит на размер базы и видит, что она растёт быстрее, чем число документов.
Дело в том, как 1С хранит присоединённые файлы, пока тома не настроены. Каждый PDF, будь то скан УПД, договор или акт сверки, записывается в информационную базу как двоичные данные. Сканер выдаёт страницу картинкой, поэтому файл весит мегабайты, а не килобайты. При постоянном потоке сканов за квартал набираются тысячи файлов, и они нередко занимают больше места, чем все документы и справочники вместе.
Сам размер — полбеды. Загруженный PDF никто не меняет, поэтому полная копия каждую ночь заново переписывает одни и те же сканы. Сжатие не спасает: внутри PDF лежат уже сжатые изображения, и архиватор почти ничего не отыгрывает. Тяжелеет всё, что зависит от размера базы: копия, восстановление, выгрузка в .dt, переезд на другой сервер.
Проверить, виноваты ли файлы, просто: откройте в СУБД список таблиц по размеру. Если лидеры — таблицы с двоичными данными присоединённых файлов, причина найдена.
Что на кону. Копию обрывают или запускают днём, и база тормозит у всех. После сбоя диска бухгалтерия ждёт, пока тяжёлый архив развернётся, и простой растёт вместе с размером копии. На бесплатном MS SQL Server Express потолок 10 ГБ на базу: упёрлись в него, и 1С перестаёт записывать новые документы, а отчётность не ждёт.
Как исправить раздутую базу: настроить тома хранения для PDF 🛠
Тома хранения файлов — штатный механизм Библиотеки стандартных подсистем (БСП), он есть в большинстве типовых конфигураций 1С. Том — это каталог на диске, куда 1С кладёт файлы вместо базы. В базе остаётся запись: имя, размер, дата и ссылка на том. Внутри тома файлы раскладываются по подкаталогам с датой.
Куда класть файлы: сравнение вариантов
| Вариант хранения | Что растёт в базе | Резервное копирование | Когда подходит |
|---|---|---|---|
| Внутри информационной базы | Сами файлы, поэтому база растёт с каждым сканом | Один архив, но тяжёлый и каждый раз полный | Единичные файлы, небольшой документооборот |
| Тома на диске сервера | Только записи о файлах | База и каталог томов копируют отдельно, в одно окно | Клиент-серверная база с постоянным потоком сканов |
| Тома на сетевом хранилище | Только записи о файлах | Отдельная задача; сеть между сервером и хранилищем должна быть стабильной | Мало места на сервере, общий архив для нескольких баз |
| Внешнее хранилище через доработку | Минимум: ссылка на объект | Своя политика хранения и сроков | Большие архивы, особые требования к срокам и доступу |
Шаг 1. Подготовьте каталог на сервере
Выделите под тома отдельный несистемный диск или раздел на сервере 1С. Путь указывается с точки зрения сервера, а не рабочего места. Учётная запись, под которой работает сервер 1С (на Windows это пользователь службы агента сервера, на Linux — usr1cv8), должна иметь право записи в каталог. Если база файловая, том нужен по сетевому пути (UNC), доступному со всех компьютеров.
Шаг 2. Создайте том и включите хранение
В разделе администрирования откройте настройки работы с файлами и включите хранение в томах на диске. Точное название пункта зависит от конфигурации и версии БСП. Создайте том: наименование, путь для Windows или для Linux, максимальный размер в мегабайтах. Том ограниченного размера проще копировать и архивировать, а когда он заполнится, 1С продолжит запись в следующий том по порядку заполнения.
Шаг 3. Перенесите загруженные файлы и сожмите базу
После включения хранения новые файлы идут в том, а старые остаются в базе. Перенос делает штатная обработка БСП. Запускайте её вечером, после свежей полной копии базы, и следите за ходом по журналу регистрации: на большом архиве перенос идёт долго.
Файл базы после переноса сам не уменьшится. Место внутри СУБД освободилось, но операционной системе его никто не вернул. В PostgreSQL для этого нужен VACUUM FULL: он блокирует таблицы и требует свободного места под копию таблицы, поэтому запускайте его в окно обслуживания. В MS SQL сжимают файл данных и затем перестраивают индексы, иначе они останутся фрагментированными. Файловую базу выгружают в .dt и загружают в чистую.
Шаг 4. Добавьте тома в резервное копирование
После переноса копия базы перестаёт содержать файлы. Выгрузка в .dt и бэкап СУБД включают только базу, поэтому без второй задачи PDF в копию не попадут: после сбоя карточки файлов будут на месте, а открыть их не получится. Каталог томов копируйте отдельной задачей и в то же окно, что и базу, тогда ссылки и файлы совпадают по времени.
Что делать, если ошибка повторяется
Тома настроены, а проблема вернулась. Чаще всего это один из трёх случаев.
База всё равно растёт
Значит, PDF попадают в неё мимо томов. Типичный виновник — самописная обработка загрузки, которая кладёт двоичные данные в реквизит или хранилище значения, а не в присоединённые файлы. Найдите самую большую таблицу в СУБД, сопоставьте её с метаданными через метод ПолучитьСтруктуруХраненияБазыДанных() и посмотрите, какой код в неё пишет. Лечится правкой загрузчика, это обычная доработка 1С: файл должен уходить через механизм присоединённых файлов БСП.
Файл не найден или не открывается
Карточка файла есть, а содержимое не открывается. У учётной записи сервера 1С могло не оказаться прав на каталог тома. Папку могли переименовать или переместить руками, а путь в томе остался прежним: 1С ищет файлы только по нему. Каталог томов могли восстановить из старой копии, а базу оставить свежей, и тогда ссылки на файлы последних дней есть, а самих файлов нет. Наконец, файл мог унести антивирус. Проверяйте в этом порядке: права, путь, моменты восстановления, карантин.
Загрузка новых файлов остановилась
Все тома заполнены до лимита или на диске кончилось место, и загрузка упирается в ошибку. Добавьте том или поднимите лимит, но сначала проверьте, сколько места осталось на диске. Чтобы не узнавать об этом от бухгалтера, настройте оповещение о свободном месте заранее.
Как предотвратить повторное раздувание базы ✅
Правил семь, и каждое закрывает сбой из предыдущих разделов.
- ✓Копируйте базу и каталог томов в одно окно. Раз в квартал разворачивайте обе копии на тестовом стенде и открывайте несколько старых файлов: копия, которую ни разу не разворачивали, ничего не гарантирует.
- ✓Заводите новый том на каждый год. Прошлогодние тома больше не пополняются, их можно перенести на дешёвый диск (путь в карточке тома меняют сразу после переноса) и копировать реже, чем текущий.
- ✓Настройте сканер. Чёрно-белого или серого режима при 200–300 dpi хватает и для чтения, и для распознавания, а цветной скан на максимальном разрешении раздувает файл без пользы.
- ✓Ограничьте размер загружаемого файла в настройках работы с файлами, чтобы многостраничный цветной скан договора не проходил без вопросов.
- ✓Не включайте хранение версий для PDF, если история правок не нужна, и настройте очистку неактуальных файлов. Иначе каждая замена файла оставляет в хранилище лишнюю версию.
- ✓Раз в месяц сверяйте размеры базы и каталога томов с прошлым месяцем. Если растёт база, а не том, файлы снова пошли в обход.
- ✓Исключите каталог томов из проверки антивирусом на лету и сканируйте его по расписанию, иначе антивирус отправит PDF в карантин посреди рабочего дня.
Отдельно про персональные данные. Если в сканах есть паспорта, трудовые договоры или договоры с физлицами, том хранит персональные данные, а значит лежать он должен на сервере в России, и доступ к каталогу нужен только служебной учётной записи 1С и администратору. Требования описаны в 152-ФЗ.
Как это решаем мы и сколько стоит 💼
Мы делаем всё в один заход. Смотрим, какие таблицы занимают базу и откуда в них попадают PDF. Настраиваем тома на сервере, переносим старые файлы, сжимаем базу, включаем копирование базы и каталога томов в одно окно и проверяем восстановление. Если загрузчик самописный и пишет файлы в базу, правим и его.
Отличие в том, что мы отвечаем и за базу, и за диск под ней. Если база арендована у нас, тома лежат на том же сервере, а копирование идёт сразу по двум каталогам. Не нужно сводить вместе хостинг, сисадмина и программиста 1С, и спорить, чья часть сломалась.
По деньгам. Сервер 1С стоит от 1 100 ₽/мес за пользователя, остальные тарифы собраны на странице цен и тарифов. Настройка томов, перенос файлов и сжатие базы идут как работа сисадмина по ставке 3800 руб/час. Сколько часов уйдёт, зависит от объёма архива и СУБД: оценку называем после диагностики, а не по телефону наугад.
Если основной поток PDF — входящие УПД, их проще не грузить руками: распознавание УПД из скана стоит от 3900 руб/мес. Для регулярного потока других PDF у нас отдельное направление, загрузка PDF в 1С: настраиваем так, чтобы файлы сразу шли в том, а не в базу.
❓ Частые вопросы
Что такое тома хранения файлов в 1С и зачем они нужны?
Том хранения — это каталог на диске сервера, куда 1С складывает присоединённые файлы вместо информационной базы. В базе остаётся только запись о файле и ссылка на том. База перестаёт расти от сканов, копия базы становится меньше и быстрее, а файлы копируются отдельной задачей.
Уменьшится ли файл базы сразу после переноса PDF в тома?
Нет. После переноса место внутри СУБД освобождается, но на диске файл остаётся прежнего размера. В PostgreSQL помогает VACUUM FULL, в MS SQL сжатие файла данных с перестройкой индексов, в файловой базе выгрузка в .dt и загрузка в чистую. Делайте это в окно обслуживания и после свежей копии.
Попадают ли файлы из томов в выгрузку .dt и обычную копию базы?
Нет. Выгрузка в .dt и бэкап СУБД содержат только базу, а PDF в томах остаются на диске. Каталог томов копируют отдельной задачей, лучше в одно окно с базой. Если восстановить базу без каталога, карточки файлов останутся, но открыть их не получится.
Можно ли хранить тома на сетевой папке или NAS?
Можно, если сервер 1С видит путь, а учётная запись службы сервера имеет право записи. Для клиент-серверной базы путь задаётся с точки зрения сервера. Есть риск: любой сбой сети или хранилища превращается в недоступные файлы в 1С. Поэтому для рабочих томов надёжнее локальный диск сервера.
Сколько стоит настроить тома хранения и перенести PDF?
Настройка идёт по ставке сисадмина, 3800 руб/час. Число часов зависит от объёма архива, СУБД и того, пишет ли самописная обработка файлы в базу. Оценку называем после диагностики: смотрим размер таблиц и способ загрузки PDF. Если база арендована у нас, сервер 1С стоит от 1 100 ₽/мес за пользователя.
Или позвоните: +7 906 045-28-27 — в рабочее время с 9:00 до 19:00
Остались вопросы? Нужна помощь?
Менеджеры компании с радостью ответят на ваши вопросы, произведут расчет стоимости услуг и подготовят индивидуальное коммерческое предложение.
Бесплатная консультация

