Почему уменьшился размер выгрузки информационной базы DT после обновления 1С?

Программист 1С v8.3 (Обычные формы) IT и автоматизация бизнеса
← На главную

Ситуация, когда после обновления типовой или доработанной конфигурации размер файла выгрузки информационной базы (.dt) существенно уменьшается (например, с 1,9 Гб до 1,6 Гб), нередко вызывает опасения по поводу возможной потери пользовательских данных или документов. Разберем детально, почему это происходит, в каких случаях уменьшение размера считается нормальным техническим поведением платформы, а также как убедиться в полной сохранности всей информации.

Основные причины уменьшения размера файла DT

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

  1. Удаление лишней конфигурации поставщика при обновлении. В тяжелых типовых конфигурациях (таких как УПП, ERP или Комплексная автоматизация) файл поставщика в сжатом виде занимает от 150 до 350 МБ. Если база ранее поддерживалась с ошибками, находилась на двойной поддержке или хранила дубликат старой конфигурации поставщика, то после штатной перепривязки поддержки лишняя конфигурация удаляется из служебных таблиц базы данных. В результате итоговый архив выгрузки уменьшается ровно на этот объем.
  2. Очистка следов динамических обновлений (таблицы Config, ConfigSave, ConfigCAS). При регулярном применении механизма «демо-обновления» (обновление конфигурации базы данных без перезапуска сеансов) в системных таблицах платформы накапливаются устаревшие блоки двоичных данных (BLOB) и версионные снимки метаданных. Когда выполняется полноценное обновление с реструктуризацией данных через меню Конфигурация — Обновить конфигурацию базы данных, платформа очищает устаревшие версии и сохраняет только актуальный релиз.
  3. Очистка технологических таблиц и регистров. При выполнении процедур первого запуска обновленной конфигурации обработчики обновления из модуля ОбновлениеИнформационнойБазы могут автоматически очищать устаревшие технологические данные: очереди версионирования, завершенные пакеты обменов данными, протоколы фоновых заданий или временные движения.
  4. Различия в алгоритмах компрессии данных. Архивация в .dt использует сжатие потока данных. Если изменился состав служебных индексов или структура полей, результирующий архив может сжиматься плотнее.

Пошаговый регламент проверки целостности данных

Чтобы исключить случайное удаление доработанных объектов метаданных (реквизитов, справочников, документов) и потерю пользовательских записей при обновлении, выполним следующие контрольные шаги.

Шаг 1. Сравнение конфигураций из файлов выгрузки

Проанализируем изменения в структуре метаданных до и после обновления. Для этого нам понадобятся файлы конфигураций (.cf), сохраненные до начала процедуры обновления и полученные из обновленной базы:

  1. В архивной копии базы открываем конфигуратор и выполняем выгрузку структуры через меню Конфигурация — Сохранить конфигурацию в файл... (получаем файл Base_Before.cf).
  2. В обновленной рабочей базе аналогично выгружаем текущую структуру (получаем файл Base_After.cf).
  3. Открываем обновленную базу в конфигураторе, переходим в меню Конфигурация — Сравнить конфигурации из файлов..., выбираем оба сохраненных файла .cf и запускаем сравнение.
  4. В появившемся окне сравнения анализируем состав дважды измененных или удаленных объектов. Убеждаемся, что добавленные ранее нетиповые реквизиты, табличные части и регистры не были непреднамеренно удалены при замещении типовым релизом.

Шаг 2. Проверка логической и ссылочной целостности

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

  1. В конфигураторе открываем меню Администрирование — Тестирование и исправление....
  2. Устанавливаем следующие обязательные параметры:
    - Реиндексация таблиц информационной базы;
    - Проверка логической целостности информационной базы;
    - Проверка ссылочной целостности информационной базы (в блоке действий при наличии ссылок на несуществующие объекты выбираем вариант «Не изменять» или «Создавать объекты» в зависимости от регламента);
    - Пересчет итогов.
  3. Нажимаем кнопку Выполнить и анализируем протокол сообщений. В окне служебных сообщений не должно быть ошибок нарушения физической и логической целостности.

Шаг 3. Сверка количества записей в таблицах документов и справочников

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


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	""РеализацияТоваровУслуг"" КАК ВидДокумента,
    |	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Документ.Ссылка) КАК Количество
    |ИЗ
    |	Документ.РеализацияТоваровУслуг КАК Документ
    |ГДЕ
    |	Документ.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |	""ПоступлениеТоваровУслуг"",
    |	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Документ.Ссылка)
    |ИЗ
    |	Документ.ПоступлениеТоваровУслуг КАК Документ
    |ГДЕ
    |	Документ.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания";

Запрос.УстановитьПараметр("ДатаНачала", НачалоГода(ТекущаяДата()));
Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(ТекущаяДата()));

Результат = Запрос.Выполнить().Выгрузить();

Сравниваем полученные количественные итоги между архивной копией и обновленной рабочей базой. Совпадение количества проведенных и непроведенных документов подтверждает сохранность данных.

Правила работы с выгрузками формата DT

Важно помнить: формат .dt предназначен разработчиками платформы 1С исключительно для миграции баз данных между различными СУБД (например, перенос с файловой базы на MS SQL Server или PostgreSQL) и для разворачивания тестовых стендов. Выгрузка в .dt не гарантирует строгой транзакционной целостности на высоконагруженных системах и не является полноценной заменой резервным копиям СУБД (дампам SQL).

Для регулярного резервного копирования рабочих баз данных необходимо использовать средства СУБД или регулярное копирование файла 1Cv8.1CD в файловом режиме при полностью отключенных пользовательских сеансах.

← На главную