Выгрузка и загрузка dt-файла 1С — пошаговая инструкция

Выгрузка dt-файла 1С через Конфигуратор и обратная загрузка в пустую базу. Когда использовать dt, ограничение по размеру и в чём отличие от бэкапа SQL.

Выгрузка dt-файла 1С — штатный способ сделать полный архив информационной базы вместе с метаданными и данными. DT — это «всё в одном»: можно перенести базу между серверами, мигрировать с MS SQL на PostgreSQL, развернуть копию на тестовом контуре или передать программисту для доработки. Делается из Конфигуратора, занимает от пары минут на маленькой базе до нескольких часов на тяжёлой.

Что такое dt-файл и чем он отличается от бэкапа SQL

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

Бэкап СУБД (.bak, pg_dump) — это копия физической структуры базы данных. Он переносится только между одинаковыми СУБД и не годится для миграции между файловой и серверной формой. Но бэкап СУБД делается быстро (минуты вместо часов на больших базах) и не требует монопольного режима в 1С.

Когда использовать dt-файл

  • миграция с файловой базы на серверную или наоборот;
  • смена СУБД: MS SQL ↔ PostgreSQL;
  • перенос базы на новый сервер или другую инфраструктуру;
  • создание тестовой копии для разработки;
  • передача базы программисту-франчайзи на доработку;
  • архивирование «холодных» баз перед списанием инфраструктуры;
  • резервная копия для маленьких файловых баз, где нет регламентного SQL-бэкапа.

Когда dt-файл не подойдёт

  • база больше 4–8 ГБ — выгрузка может упасть с ошибкой или повредиться;
  • требуется быстрый ежедневный бэкап — dt медленный, лучше СУБД-бэкап;
  • нужно сохранить состояние на конкретный момент с активными пользователями — для dt требуется монопольный режим;
  • база сильно повреждена — выгрузка падает, нужно сначала чинить через тестирование и chdbfl.

Подготовка к выгрузке

  1. Завершите все сеансы пользователей. Для серверной базы — через консоль администрирования сервера (Активные пользователи или Сеансы → принудительное завершение).
  2. Заблокируйте новые подключения: Администрирование → Параметры информационной базы → установить «Блокировка установки соединений с информационной базой» с кодом разрешения.
  3. Заблокируйте регламентные задания на сервере.
  4. Прогоните тестирование и исправление с реиндексацией — это уменьшит размер выгрузки и снизит риск падения.
  5. Проверьте свободное место на диске. Размер dt-файла обычно 30–60% от размера базы, но во время выгрузки нужно место под временные файлы.

Выгрузка dt-файла

  1. Запустите Конфигуратор от имени пользователя с полными правами (например, «Администратор»).
  2. Пройдите по меню: Администрирование → Выгрузить информационную базу.
  3. В диалоге выбора файла укажите путь и имя файла. Расширение .dt подставится автоматически.
  4. Нажмите «Сохранить». Откроется индикатор прогресса.
  5. Дождитесь сообщения об успешном завершении.

Не закрывайте Конфигуратор во время выгрузки. При падении операции остаётся неполный dt-файл, восстановиться из которого нельзя.

Сообщение об успешной выгрузке
«Выгрузка информационной базы в файл завершена. Файл: D:\Backup\baza_buh_31_05.dt»

Загрузка dt-файла в новую базу

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

Шаг 1: создание пустой базы

Для файлового варианта:

  1. В окне запуска нажмите «Добавить» → «Создание новой информационной базы».
  2. Выберите «Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной ранее информационной базы».
  3. Укажите имя и каталог для базы.
  4. Закончите создание. В окне запуска появится новая запись.

Для серверного варианта:

  1. В окне запуска: «Добавить» → «Создание новой информационной базы».
  2. Выберите «На сервере 1С:Предприятия».
  3. Укажите имя кластера, имя базы, тип СУБД (MS SQL Server, PostgreSQL), параметры подключения к СУБД.
  4. Платформа создаст пустую базу на сервере СУБД.

Шаг 2: загрузка dt

  1. Запустите Конфигуратор для новой пустой базы.
  2. Пройдите по меню: Администрирование → Загрузить информационную базу.
  3. Выберите dt-файл и нажмите «Открыть».
  4. Подтвердите предупреждение «Все данные информационной базы будут уничтожены и заменены данными из файла».
  5. Дождитесь окончания загрузки. По времени — примерно столько же, сколько шла выгрузка.
  6. После загрузки Конфигуратор предложит перезапуститься.

Ограничение по размеру dt

Платформа официально не декларирует жёсткое ограничение, но на практике dt-файлы больше 4–8 ГБ выгружаются нестабильно: либо падают с ошибкой памяти, либо повреждаются при упаковке, либо не загружаются обратно. Зависит от 32/64-битности Конфигуратора и от характера данных.

Для больших баз есть альтернативы:

  • бэкап средствами СУБД (MS SQL Backup, pg_dump);
  • выгрузка по правилам конвертации данных (КД 2.0/3.0);
  • выгрузка через xml-обработки;
  • свёртка базы и затем выгрузка уменьшенного dt.

Что делать при проблемах

Если выгрузка падает с ошибкой «Недостаточно памяти» — запустите 64-битный Конфигуратор (1cv8.exe из каталога bin 64-битной платформы). Если падает с ошибкой целостности — сначала прогоните тестирование и исправление.

Если загрузка падает с «Ошибка формата dt-файла» — файл повреждён. Проверьте размер: он должен совпадать с тем, что был при выгрузке. Если копировали через сеть — повторите копирование. Часто помогает архивация dt в zip и распаковка перед загрузкой (проверяет CRC).

Если после загрузки база работает с ошибками — прогоните тестирование и исправление. Иногда при миграции с MS SQL на PostgreSQL вылезают мелкие расхождения в индексах.

FAQ

Чем dt лучше бэкапа SQL?

Универсальностью: dt переносится между файловой и серверной базой, между MS SQL и PostgreSQL. Бэкап СУБД — только в ту же СУБД. Зато SQL-бэкап быстрее и не требует монопольного режима.

Можно ли загрузить dt поверх существующей базы с данными?

Технически — да, но все существующие данные будут уничтожены. Платформа предупреждает об этом. Чтобы посмотреть данные из dt без потери текущей базы — создайте отдельную пустую базу и загрузите в неё.

Сохраняются ли пользователи и пароли в dt?

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

dt-файл одной конфигурации можно загрузить в другую?

Нет. Конфигурация — часть dt. При загрузке заменяются и метаданные, и данные. Это значит, что dt от Бухгалтерии 3.0 нельзя «накатить» поверх УТ 11 — конфигурация затрётся.

Как перенести dt между разными релизами платформы?

Выгружайте на старой платформе, загружайте на новой — это работает в одну сторону: со старой версии на новую. Обратная миграция (с 8.3.25 на 8.3.20) не гарантирована, особенно если использовались новые типы данных.

Можно ли автоматизировать выгрузку dt?

Да, через пакетный режим Конфигуратора: "1cv8.exe" CONFIG /F "C:\Base" /N "Admin" /P "pass" /DumpIB "D:\Backup\base.dt". Подходит для регулярных бэкапов маленьких файловых баз. Для больших — медленно.

Что делать, если dt получился размером 0 байт?

Выгрузка упала тихо. Проверьте журнал регистрации Конфигуратора, права на каталог, свободное место. Иногда помогает запуск Конфигуратора от имени администратора Windows.

Алексей Герзанов aka Gerzoid
Алекс Гезанов

Работаю в сервисном центре по ремонту и обслуживанию бытовой техники. За более чем 10 лет трудовой деятельности, я сталкивался с решением большого количества проблем в работе ОС Windows, периферийных устройств, бытовой техники, игровых консолей Playstation и т. д.

Добавить комментарий