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

· 9 мин

Содержание

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

Отсюда первое правило: прежде чем копировать, узнайте, какая у вас база — файловая или клиент-серверная. От этого зависит и способ, и то, что именно вы копируете. Ниже — четыре рабочих метода (из окна запуска, вручную файлом, через SQL и через .dt) и автоматизация регулярных копий.

Определяем тип базы и где она лежит

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

  • File="C:\Bases\Buh"; — это файловая база. Данные в папке C:\Bases\Buh, главный файл — 1Cv8.1CD.
  • Srvr="SERVER1";Ref="buh_base"; — это клиент-серверная база. Srvr — имя сервера 1С, Ref — имя базы в кластере; сами данные — в СУБД на этом сервере.

Если строка не видна целиком, нажмите Изменить — в мастере будет либо поле «Каталог информационной базы» (файловая), либо «Кластер серверов / Имя базы» (серверная).

Запишите путь или имя базы в СУБД до начала работы — дальше он понадобится в каждом способе.

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

Какой способ копирования выбрать?

Коротко, чем способы отличаются:

СпособДля какой базыЧто копируетКогда применять
Папка / файл 1Cv8.1CDФайловаяДанные + журнал + настройкиРазовая точная копия на том же ПК
Выгрузка .dtЛюбаяДанные + конфигурациюПеренос между ПК и между файловой/серверной
Бэкап СУБД (.bak, pg_dump)Клиент-сервернаяБазу данных целиком в СУБДТочная копия серверной базы, работа не стоит
Командная строкаЛюбаяТо же, что .dtКопии по расписанию

Копирование файловой базы из окна запуска

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

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

Чтобы развернуть эту копию в новую базу:

  1. В окне запуска нажмите Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации (пустая база).
  2. Укажите каталог для новой базы и завершите мастер.
  3. Откройте новую базу в конфигураторе и выберите Администрирование → Загрузить информационную базу, укажите ваш .dt.

Загрузка .dt полностью затирает содержимое базы, в которую грузите. Поэтому грузите только в новую или специально подготовленную базу, а не в рабочую.

Этот способ удобен, когда копию нужно отдать коллеге или перенести на другой ПК: файл .dt компактнее папки и не содержит временный кэш.

Ручное копирование файла базы на диске

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

  1. Закройте все окна 1С по этой базе — и «Предприятие», и «Конфигуратор». Файл 1Cv8.1CD нельзя копировать, пока он открыт: копия получится битой.
  2. Откройте в проводнике каталог базы (путь вы посмотрели в окне запуска).
  3. Скопируйте всю папку в новое место. Ключевые объекты внутри:
    • 1Cv8.1CD — сама база данных (главный файл);
    • 1Cv8Log — каталог журнала регистрации;
    • служебные файлы кэша (.cf, временные) — можно не копировать.
  4. Чтобы открыть копию, в окне запуска нажмите Добавить → Добавление в список существующей информационной базы и укажите новую папку.

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

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

Перенос на другой компьютер. Если копируете папку на другой ПК, сам список баз в окне запуска туда не переедет — его хранит отдельный файл ibases.v8i в каталоге %APPDATA%\1C\1CEStart. Проще не копировать его, а на новом компьютере заново добавить базу через Добавление в список существующей информационной базы, указав перенесённую папку. Платформа на новом ПК должна быть номером не ниже прежней.

Копия клиент-серверной базы через СУБД

Для серверной базы папку копировать бесполезно — данные в СУБД. Правильная точная копия делается средствами самой СУБД: резервная копия базы и восстановление под новым именем.

MS SQL Server (через SSMS):

  1. В SQL Server Management Studio щёлкните по базе правой кнопкой → Tasks → Back Up, создайте файл .bak.
  2. Правой кнопкой по Databases → Restore Database, в источнике укажите .bak.
  3. В поле имени базы задайте новое имя (например, buh_copy), а на вкладке Files поменяйте пути файлов .mdf и .ldf, чтобы не перезаписать оригинал.

Та же операция в T-SQL:

BACKUP DATABASE [buh_base] TO DISK = N'D:\Backup\buh.bak' WITH INIT;

RESTORE DATABASE [buh_copy] FROM DISK = N'D:\Backup\buh.bak'
WITH MOVE 'buh_base'     TO N'D:\SQLData\buh_copy.mdf',
     MOVE 'buh_base_log' TO N'D:\SQLData\buh_copy_log.ldf';

Логические имена файлов (buh_base, buh_base_log) узнаёте командой RESTORE FILELISTONLY FROM DISK = N'D:\Backup\buh.bak';.

PostgreSQL:

pg_dump -U postgres -F c -f D:\Backup\buh.backup buh_base
createdb -U postgres buh_copy
pg_restore -U postgres -d buh_copy D:\Backup\buh.backup

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

  1. В окне запуска Добавить → Создание новой информационной базы → без конфигурации.
  2. Тип расположения — На сервере 1С:Предприятия.
  3. Укажите кластер, в поле «Имя информационной базы в кластере» задайте новое имя, тип СУБД, сервер БД и имя восстановленной базы (buh_copy). Флаг «Создать базу данных в случае её отсутствия» снимите — база уже есть.

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

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

Универсальный перенос через выгрузку и загрузку .dt

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

  • Выгрузка: Конфигуратор → Администрирование → Выгрузить информационную базу → файл .dt.
  • Загрузка: в целевой базе Конфигуратор → Администрирование → Загрузить информационную базу → выбрать .dt.

Что важно помнить про .dt:

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

На больших базах (десятки гигабайт) выгрузка .dt идёт долго и даёт один огромный файл. Для рабочих серверных баз бэкап средствами СУБД обычно быстрее и надёжнее; .dt оставляйте для переноса и небольших баз.

Автоматизация: командная строка и расписание

Регулярные копии удобнее не делать руками, а поставить на расписание. Платформа 1С умеет выгружать и загружать базу из командной строки — это основа для .bat-файла в планировщике Windows.

Выгрузка файловой базы в .dt:

"C:\Program Files\1cv8\8.3.24.1234\bin\1cv8.exe" DESIGNER /F"C:\Bases\Buh" /DumpIB"D:\Backup\buh.dt"

Выгрузка серверной базы (с авторизацией):

"C:\Program Files\1cv8\8.3.24.1234\bin\1cv8.exe" DESIGNER /S"SERVER1\buh_base" /N"Администратор" /P"пароль" /DumpIB"D:\Backup\buh.dt"

Загрузка .dt обратно в базу — параметр /RestoreIB:

"C:\Program Files\1cv8\8.3.24.1234\bin\1cv8.exe" DESIGNER /F"C:\Bases\Buh_copy" /RestoreIB"D:\Backup\buh.dt"

Подставьте в путь свой номер версии платформы (папку можно посмотреть в C:\Program Files\1cv8). Такой .bat ставится в Планировщик заданий Windows на ночное время.

Чтобы не гадать, прошла ли ночная выгрузка, добавьте параметр /Out — платформа запишет служебные сообщения в лог-файл, и утром видно, завершилась операция или оборвалась с ошибкой:

... /DumpIB"D:\Backup\buh.dt" /Out"D:\Backup\log.txt"

Для серверных баз правильнее автоматизировать бэкап на стороне СУБД: в MS SQL — через Maintenance Plan или задание SQL Server Agent, в PostgreSQL — pg_dump по расписанию. Эти средства снимают копию без остановки работы пользователей.

Если ставите на расписание загрузку /RestoreIB в рабочую базу — не делайте этого: загрузка затрёт данные и оборвёт сеансы. Автоматизируйте только выгрузку (бэкап), а восстановление запускайте вручную, когда это действительно нужно.

Частые ошибки при копировании базы

  • 📁 Копируют папку клиент-серверной базы. В ней нет данных — только кэш. Для серверной базы копируется база СУБД, а не каталог на диске.
  • 🔓 Копируют 1Cv8.1CD, не закрыв 1С. Открытый файл копируется не целиком, копия может не открыться. Сначала закройте все сеансы.
  • ♻️ Загружают .dt в рабочую базу. Загрузка полностью затирает содержимое. Грузите только в новую или пустую базу.
  • 🔗 Две базы 1С на одну базу СУБД. Регистрируют копию, но забывают восстановить отдельную базу в СУБД — обе базы пишут в одно хранилище и портят данные.
  • ⬇️ Грузят .dt на платформу старее исходной. Нужна платформа номером не ниже той, где делалась выгрузка.
Перед копированием базы проверьте
Выполнено: 0 / 5

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

Чем отличается копирование файловой и клиент-серверной базы?
У файловой данные лежат в папке (1Cv8.1CD) — копируется папка или делается выгрузка .dt. У клиент-серверной данные в СУБД — копируется база СУБД средствами MS SQL или PostgreSQL. Папка серверной базы данных не содержит.
Можно ли копировать базу, пока в ней работают пользователи?
Ручное копирование файла и загрузку .dt — нет. Выгрузку .dt лучше тоже делать без активных сеансов. Бэкап средствами СУБД (MS SQL, PostgreSQL) снимается без остановки работы.
Чем `.dt` отличается от копии файла `1Cv8.1CD`?
.dt — это выгрузка данных и конфигурации в архив, он не зависит от типа базы и переносится между файловой и серверной. 1Cv8.1CD — физический файл только файловой базы, копируется как есть.
Как перенести базу с сервера на обычный компьютер?
Сделайте выгрузку .dt из серверной базы, затем создайте на компьютере пустую файловую базу и загрузите в неё этот .dt. Формат от типа хранилища не зависит.
Почему `.dt` не загружается — пишет про версию платформы?
Загружать .dt можно только на платформу номером не ниже той, где делалась выгрузка. Обновите платформу на целевом компьютере до версии не ниже исходной.