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

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

Как выгрузить базу данных из 1С

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

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

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

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

Какие способы выгрузки существуют и когда какой выбрать

Выбор способа зависит от режима работы базы и цели выгрузки. Файловая база (один файл 1Cv8.1CD на диске) проще всего копируется напрямую, но выгрузка через конфигуратор надежнее, так как исключает захват базы в несогласованном состоянии. Клиент-серверная база на MS SQL Server, PostgreSQL или Oracle обычно выгружается штатными средствами СУБД — так быстрее и удобнее для больших объемов.

Сравнение способов выгрузки

Выгрузка в .dt через конфигуратор

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

Копирование файла 1Cv8.1CD

Подходит только для файловых баз. Быстро, но перед копированием все пользователи должны выйти, иначе копия может оказаться поврежденной.

Резервная копия средствами СУБД

Оптимально для клиент-серверных баз. Быстро, можно автоматизировать по расписанию. Восстановление привязано к той же СУБД.

Обмен данными (XML, универсальный формат)

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

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

Выгрузка базы через конфигуратор в файл .dt

Это стандартный и самый распространенный способ. Он работает одинаково для файловых и клиент-серверных баз, а полученный файл можно загрузить на любой другой платформе 1С той же или более новой версии.

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

Во время выгрузки конфигуратор блокирует базу для других пользователей. Если кто-то остался в сеансе, выгрузка не начнется — появится сообщение о невозможности установить монопольный режим. Завершить зависшие сеансы можно через «Администрирование» → «Активные пользователи» в клиентском приложении или через консоль кластера серверов 1С.

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

Выгрузка файловой базы копированием

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

Для регулярного резервного копирования файловой базы удобно настроить скрипт, который проверяет отсутствие открытых сеансов и копирует файл по расписанию, например ночью. В простейшем случае достаточно планировщика задач Windows и команды копирования с указанием даты в имени архива.

batch
copy "D:\Bases\Trade\1Cv8.1CD" "E:\Backup\1Cv8_%DATE%.1CD"

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

Выгрузка клиент-серверной базы средствами СУБД

Если база работает на MS SQL Server, PostgreSQL или другой СУБД, самый быстрый способ получить копию — штатное резервное копирование базы данных. Для MS SQL Server это делается через SQL Server Management Studio: правый клик по базе → «Задачи» → «Создать резервную копию», тип — «Полная». Для PostgreSQL используется утилита pg_dump.

bash
pg_dump -U postgres -F c -f backup_base.dump mybase

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

При восстановлении базы из копии СУБД на другом сервере помните, что в консоли кластера 1С нужно будет создать или перенастроить запись информационной базы с указанием нового сервера СУБД и имени базы.

Выгрузка отдельных данных: документы, справочники, обмен

Иногда нужна не вся база, а конкретные данные: список номенклатуры, документы за период, контрагенты. Для этого в типовых конфигурациях есть встроенные механизмы. Например, обработка «Выгрузка и загрузка данных XML» позволяет перенести данные между идентичными конфигурациями, а «Универсальный обмен данными в формате XML» — между разными конфигурациями по правилам обмена.

Для передачи данных между типовыми конфигурациями 1С (например, из «Управления торговлей» в «Бухгалтерию») используйте типовые планы обмена и синхронизацию данных — они настраиваются в разделе «Администрирование» → «Синхронизация данных». Табличные данные (списки документов, справочники) можно также выгрузить прямо из формы списка через «Ещё» → «Вывести список» в табличный документ с сохранением в Excel.

Как проверить, что выгрузка прошла успешно

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

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

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

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

Размер файла .dt
Норма

Файл создан, размер сопоставим с объемом данных базы

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

Файл нулевого размера или выгрузка завершилась ошибкой

Тестовая загрузка
Норма

База загружается без ошибок, открывается в режиме предприятия

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

Ошибка формата потока или несовместимости версий при загрузке

Полнота данных
Норма

Документы, справочники и остатки на месте, отчеты сходятся с исходной базой

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

Часть данных отсутствует, отчеты показывают другие цифры

Типичные ошибки и ограничения

Типичные ошибки
01
Выгрузка при работающих пользователях — конфигуратор не получает монопольный доступ, а копирование файла дает поврежденную копию.
02
Недостаток места на диске — процесс обрывается, файл .dt оказывается недописанным и непригодным.
03
Загрузка .dt в базу более старой версии платформы — файл, выгруженный на новой версии, не загружается на старой.
04
Хранение единственной копии на том же диске, что и рабочая база — при отказе диска теряется и база, и резерв.
05
Путаница между .dt и копией СУБД — попытка загрузить .bak через конфигуратор или .dt через SQL Server ни к чему не приведет.

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

Итог

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

Универсальный способ выгрузки — файл .dt через конфигуратор (Администрирование → Выгрузить информационную базу). Файловую базу можно копировать файлом 1Cv8.1CD, серверную — резервной копией СУБД. Перед выгрузкой завершите все сеансы, после — проверьте результат тестовой загрузкой и храните копию на отдельном носителе.

Частые вопросы о выгрузке базы 1С

Чем файл .dt отличается от файла 1Cv8.1CD?

1Cv8.1CD — это рабочий файл файловой базы, с которым платформа работает напрямую. Файл .dt — это архив выгрузки, созданный конфигуратором: его нужно загрузить в пустую базу через «Загрузить информационную базу», чтобы получить рабочую копию. Файл .dt можно переносить между файловым и клиент-серверным режимами, а 1Cv8.1CD — нет.

Можно ли выгрузить базу без конфигуратора?

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

Почему выгрузка .dt занимает очень много времени?

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

Выгрузится ли база, если в ней работают пользователи?

Через конфигуратор — нет: выгрузка требует монопольного доступа, и при активных сеансах появится ошибка. Завершите сеансы через список активных пользователей или консоль кластера. Резервное копирование средствами СУБД в ряде случаев возможно без остановки работы, но для гарантированной согласованности лучше выполнять его вне рабочего времени.

Можно ли загрузить .dt, выгруженный из новой версии платформы, в старую?

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

Куда безопасно сохранять выгруженную базу?

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