Копия рабочей базы 1С с сервера: выгрузка .dt, бэкап SQL и файловый вариант

· 9 мин

Содержание

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

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

Подготовка сервера и базы к копированию

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

  • 🧩 Вариант базы. В окне запуска выделите базу и посмотрите строку под списком. File="D:\Bases\Buh" — файловая база. Srvr="srv1c";Ref="buh" — клиент-серверная.
  • 🔢 Версия платформы. В запущенной базе: Справка → О программе (значок «i» в правом верхнем углу). Номер вида 8.3.24.1548 понадобится для загрузки: платформа на новом месте должна быть с номером не ниже исходного.
  • 🔑 Права. Для выгрузки .dt нужен пользователь 1С с полными правами (роль «Полные права» или «Администратор системы»). Для бэкапа СУБД — учётная запись SQL с правом резервного копирования.
  • 💾 Место на диске. Файл .dt сжат и обычно в 3–10 раз меньше базы на SQL. Бэкап .bak без сжатия близок к размеру файла данных.
  • 👥 Активные пользователи. Выгрузка .dt не требует монопольного режима, но на большой базе идёт долго и нагружает сервер. Запускайте её вечером или в выходные.

Проверка целостности перед копированием

Если в базе есть битые ссылки или ошибки структуры, они уедут в копию. Для файловой базы есть два инструмента:

  1. В Конфигураторе: Администрирование → Тестирование и исправление. Нужен монопольный доступ, все пользователи должны выйти.
  2. Утилита chdbfl.exe в папке bin установленной платформы. Работает с файлом 1Cv8.1CD напрямую, без запуска 1С.

Для клиент-серверной базы проверку на стороне СУБД делают командой DBCC CHECKDB (MS SQL). Запускайте её в нерабочее время: на базе в сотни гигабайт она идёт часами.

Сравнение способов: какой выбрать

СпособКогда подходитЧто нужноПодводные камни
Выгрузка .dtЛюбая база до 50–100 ГБ, перенос между СУБДПрава администратора в 1СДолго на больших базах
Копирование файла 1Cv8.1CDФайловая база на сетевой папкеВсе пользователи вышлиКопия при открытой базе может быть битой
Бэкап MS SQLКлиент-сервер на MS SQL, большие базыДоступ к SQL ServerНовую базу нужно зарегистрировать в кластере
Дамп PostgreSQLКлиент-сервер на PostgreSQLДоступ к серверу СУБДВерсия pg_dump должна совпадать с сервером
Командная строка 1cv8 / ibcmdРегулярные копии по расписаниюСкрипт и планировщикПароль в открытом виде в скрипте
Какая у вас база и зачем копия?

Выгрузка базы 1С с сервера в файл .dt

Это универсальный способ. Он одинаково работает для файловой и серверной базы и не зависит от СУБД.

Шаг за шагом

  1. В окне запуска выберите нужную базу и нажмите Конфигуратор.
  2. Войдите под пользователем с полными правами.
  3. Откройте меню Администрирование → Выгрузить информационную базу.
  4. Укажите папку и имя файла, например D:\Backup\buh_2026-10-07.dt.
  5. Нажмите Сохранить и дождитесь сообщения о том, что выгрузка завершена.

Файл .dt содержит конфигурацию, данные и список пользователей. Журнал регистрации в него не попадает.

Загрузка .dt в новую базу

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

Загрузка .dt полностью заменяет содержимое базы, в которую грузите. Никогда не загружайте файл в рабочую базу по ошибке — проверьте строку подключения в заголовке окна Конфигуратора перед нажатием «Открыть».

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

Как скопировать файловую базу 1С с сервера

Если база лежит в общей папке на сервере, её можно скопировать как обычные файлы. Это самый быстрый путь.

Что копировать

Объект в папке базыЧто этоКопировать?
1Cv8.1CDВся база: конфигурация и данныеОбязательно
1Cv8LogЖурнал регистрацииПо желанию
1Cv8FTxtИндекс полнотекстового поискаНе нужно, перестроится
1Cv8tmp.1CDВременный файлНе нужно

Порядок

  1. Попросите всех выйти из базы. Проверить, что вышли все, можно в режиме Предприятия: Администрирование → Обслуживание → Активные пользователи (в БП 3.0 и ЗУП 3.1).
  2. Скопируйте 1Cv8.1CD в новую папку, например D:\Bases\Buh_test.
  3. В окне запуска: Добавить → Добавление в список существующей информационной базы, укажите новую папку.

Если файл 1Cv8.1CD занят, Windows не даст его скопировать или скопирует несогласованную версию. Посмотреть, кто держит файл, можно в оснастке «Управление компьютером» на сервере: Общие папки → Открытые файлы.

Копирование клиент-серверной базы средствами SQL

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

MS SQL Server

Резервная копия с флагом COPY_ONLY не ломает цепочку регулярных бэкапов, которые настроил администратор:

BACKUP DATABASE [buh]
TO DISK = N'D:\Backup\buh_copy.bak'
WITH COPY_ONLY, STATS = 10;

Параметр COMPRESSION ускоряет и уменьшает бэкап, но в редакции Express он недоступен.

Перед восстановлением узнайте логические имена файлов:

RESTORE FILELISTONLY FROM DISK = N'D:\Backup\buh_copy.bak';

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

RESTORE DATABASE [buh_test]
FROM DISK = N'D:\Backup\buh_copy.bak'
WITH MOVE 'buh'     TO N'D:\SQLData\buh_test.mdf',
     MOVE 'buh_log' TO N'D:\SQLData\buh_test_log.ldf',
     STATS = 10;

Без MOVE SQL Server попытается записать файлы поверх файлов исходной базы и откажется.

PostgreSQL

Используйте pg_dump и pg_restore из той же сборки PostgreSQL, на которой работает сервер. Для 1С это обычно сборка с патчами для 1С.

pg_dump -U postgres -h localhost -Fc -f /backup/buh.dump buh
createdb -U postgres -h localhost -T template0 buh_test
pg_restore -U postgres -h localhost -d buh_test /backup/buh.dump

Формат -Fc сжимает дамп и позволяет восстанавливать его через pg_restore.

Регистрация копии в кластере 1С

  1. Откройте Администрирование серверов 1С Предприятия, раскройте кластер, на узле Информационные базы выберите Создать → Информационная база.
  2. Укажите имя базы в кластере (например, buh_test), тип СУБД, сервер баз данных и имя восстановленной базы данных (buh_test).
  3. Флажок Создать базу данных в случае ее отсутствия не ставьте: база данных уже есть.
  4. Поставьте Блокировка регламентных заданий включена.
  5. Добавьте базу в список на клиенте: Srvr="srv1c";Ref="buh_test".

Если в поле имени базы данных случайно указать имя рабочей базы, две информационные базы в кластере будут смотреть в одни и те же таблицы. Любые «тесты» в копии изменят рабочие данные.

Командная строка: 1cv8 и ibcmd вместо ручной выгрузки

Отдельной утилиты v8util для копирования баз в составе платформы нет. Для автоматизации используют сам исполняемый файл 1cv8.exe в режиме Конфигуратора и, начиная с платформы 8.3.14, автономный сервер ibcmd.

Выгрузка .dt через 1cv8.exe

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER ^
  /S "srv1c\buh" /N "Администратор" /P "пароль" ^
  /DisableStartupDialogs ^
  /DumpIB "D:\Backup\buh.dt" ^
  /Out "D:\Backup\dump.log"
  • /S — сервер и имя базы в кластере. Для файловой базы вместо него /F "D:\Bases\Buh".
  • /DumpIB — выгрузить базу в файл. Обратная операция — /RestoreIB.
  • /Out — лог. Если выгрузка не прошла, причина будет в нём.

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

ibcmd

ibcmd работает напрямую с СУБД, без запущенного кластера и без лицензии клиента. Выгрузка в .dt выглядит так:

ibcmd infobase dump --dbms=MSSQLServer --db-server=sqlsrv ^
  --db-name=buh --db-user=sa --db-pwd=пароль ^
  --user=Администратор --password=пароль D:\Backup\buh.dt

Набор параметров зависит от СУБД и версии платформы. Перед первым запуском сверьтесь со справкой: ibcmd help infobase dump.

Не храните пароль в скрипте, к которому есть доступ у всех. Заведите для выгрузки отдельного пользователя 1С и ограничьте права на папку со скриптом.

Проверка копии после восстановления

Копию, которую никто не открывал, нельзя считать копией. Проверьте её сразу.

  1. Откройте копию в режиме Предприятия. Типовые конфигурации на БСП (БП 3.0, ЗУП 3.1, УТ 11) при первом запуске на новом месте спрашивают, перемещена база или это копия. Выберите вариант про копию: тогда программа отключит обмены и интеграции, привязанные к рабочей базе.
  2. Смените заголовок окна. В БП 3.0: Администрирование → Общие настройки, поле заголовка программы. Напишите «ТЕСТ — копия от 07.10», чтобы никто не перепутал базы.
  3. Сверьте цифры. Сформируйте оборотно-сальдовую ведомость за последний закрытый месяц в рабочей базе и в копии. Итоги должны совпасть до копейки.
  4. Проверьте пользователей. Список пользователей приходит вместе с базой. Если копия для разработчика, оставьте ему одну учётную запись.
  5. Проверьте версию. Справка → О программе: релиз конфигурации должен совпадать с рабочим.
Копия готова к работе
Выполнено: 0 / 5

Что мешает скопировать базу: частые сбои

Эти ситуации не связаны с конкретным способом и всплывают на любом шаге.

  • 🔒 Конфигуратор не открывается, пишет про блокировку начала сеансов. На базе включена блокировка, например после обновления. Снимите её в консоли кластера в свойствах информационной базы или в режиме Предприятия через Администрирование → Обслуживание, если доступ к нему есть.
  • 🧱 Выгрузка .dt обрывается с ошибкой на середине. Чаще всего не хватает места на диске, куда пишется файл, или во временной папке пользователя. Освободите место и повторите. Если ошибка указывает на конкретную таблицу — это повод запустить проверку целостности.
  • 🌐 Нет доступа к общей папке файловой базы. Учётной записи Windows не хватает прав на чтение. Копировать файл нужно от имени пользователя, у которого есть права на папку, или попросить администратора сервера.
  • 🕒 Копия на SQL открывается, но показывает старые данные. Восстановлен не тот бэкап. Проверьте дату создания файла .bak и команду: при нескольких копиях в одном файле SQL Server по умолчанию берёт первую.
  • 🧾 В копии не видно журнала регистрации. Он не переносится через .dt и бэкап СУБД. Если журнал нужен, скопируйте папку 1Cv8Log из каталога базы на сервере 1С вручную.

Частые вопросы

Можно ли скопировать базу 1С без Конфигуратора и без доступа к SQL?
Нет. Нужен либо Конфигуратор с правами администратора 1С, либо доступ к СУБД или к папке файловой базы. Пользователь с обычными правами копию базы сделать не может.
Нужна ли отдельная лицензия для копии базы на том же сервере?
Лицензия расходуется на сеанс, а не на базу. Копия на том же сервере использует те же лицензии, но каждый открытый в ней сеанс занимает одну из них.
Почему .dt в несколько раз меньше базы на SQL?
Файл .dt сжат и не содержит индексов, итогов в готовом виде и журнала регистрации. При загрузке платформа строит их заново, поэтому загрузка идёт дольше выгрузки.
Можно ли загрузить .dt на сервере с более старой платформой?
Нет. Платформа должна быть с номером не ниже той, где делалась выгрузка. Иначе загрузка прервётся с ошибкой о формате.
Сколько времени занимает выгрузка .dt?
Ориентировочно: база 5–10 ГБ выгружается за 10–30 минут, база 100 ГБ — несколько часов. Скорость сильно зависит от дисков и загрузки сервера.