Копирование базы 1С: файловая, серверная и через .dt
Содержание
Чтобы скопировать файловую базу
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 — один файл переносится проще, чем папка, и не тянет кэш..dt — она не зависит от типа хранилища.Коротко, чем способы отличаются:
| Способ | Для какой базы | Что копирует | Когда применять |
|---|---|---|---|
Папка / файл 1Cv8.1CD | Файловая | Данные + журнал + настройки | Разовая точная копия на том же ПК |
Выгрузка .dt | Любая | Данные + конфигурацию | Перенос между ПК и между файловой/серверной |
Бэкап СУБД (.bak, pg_dump) | Клиент-серверная | Базу данных целиком в СУБД | Точная копия серверной базы, работа не стоит |
| Командная строка | Любая | То же, что .dt | Копии по расписанию |
Копирование файловой базы из окна запуска
Самый безопасный способ для файловой базы — выгрузить её в один файл .dt через конфигуратор. Он собирает все данные и конфигурацию в архив, который потом загружается в пустую базу.
- В окне запуска выделите базу и нажмите
Конфигуратор. - В конфигураторе откройте меню
Администрирование → Выгрузить информационную базу. - Укажите имя и папку для файла, например
buh_2026-10-07.dt, нажмитеСохранить. - Дождитесь сообщения «Выгрузка информационной базы в файл завершена».
Чтобы развернуть эту копию в новую базу:
- В окне запуска нажмите
Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации(пустая база). - Укажите каталог для новой базы и завершите мастер.
- Откройте новую базу в конфигураторе и выберите
Администрирование → Загрузить информационную базу, укажите ваш.dt.
Загрузка .dt полностью затирает содержимое базы, в которую грузите. Поэтому грузите только в новую или специально подготовленную базу, а не в рабочую.
Этот способ удобен, когда копию нужно отдать коллеге или перенести на другой ПК: файл .dt компактнее папки и не содержит временный кэш.
Ручное копирование файла базы на диске
Если нужна точная копия файловой базы «как есть» (вместе с журналом регистрации и настройками), копируйте папку целиком.
- Закройте все окна 1С по этой базе — и «Предприятие», и «Конфигуратор». Файл
1Cv8.1CDнельзя копировать, пока он открыт: копия получится битой. - Откройте в проводнике каталог базы (путь вы посмотрели в окне запуска).
- Скопируйте всю папку в новое место. Ключевые объекты внутри:
1Cv8.1CD— сама база данных (главный файл);1Cv8Log— каталог журнала регистрации;- служебные файлы кэша (
.cf, временные) — можно не копировать.
- Чтобы открыть копию, в окне запуска нажмите
Добавить → Добавление в список существующей информационной базыи укажите новую папку.
Для разового бэкапа достаточно скопировать один файл 1Cv8.1CD — в нём все данные. Журнал регистрации и настройки лежат отдельно и для восстановления данных не обязательны.
Минус ручного способа: пока файл открыт хотя бы одним пользователем, корректную копию не сделать. Для баз, с которыми работают постоянно, надёжнее выгрузка .dt или бэкап средствами СУБД.
Перенос на другой компьютер. Если копируете папку на другой ПК, сам список баз в окне запуска туда не переедет — его хранит отдельный файл ibases.v8i в каталоге %APPDATA%\1C\1CEStart. Проще не копировать его, а на новом компьютере заново добавить базу
через Добавление в список существующей информационной базы, указав перенесённую папку. Платформа на новом ПК должна быть номером не ниже прежней.
Копия клиент-серверной базы через СУБД
Для серверной базы папку копировать бесполезно — данные в СУБД. Правильная точная копия делается средствами самой СУБД: резервная копия базы и восстановление под новым именем.
MS SQL Server (через SSMS):
- В SQL Server Management Studio щёлкните по базе правой кнопкой →
Tasks → Back Up, создайте файл.bak. - Правой кнопкой по
Databases → Restore Database, в источнике укажите.bak. - В поле имени базы задайте новое имя (например,
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С:Предприятия. - Укажите кластер, в поле «Имя информационной базы в кластере» задайте новое имя, тип СУБД, сервер БД и имя восстановленной базы (
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на платформу старее исходной. Нужна платформа номером не ниже той, где делалась выгрузка.
Частые вопросы
Чем отличается копирование файловой и клиент-серверной базы?
1Cv8.1CD) — копируется папка или делается выгрузка .dt. У клиент-серверной данные в СУБД — копируется база СУБД средствами MS SQL или PostgreSQL. Папка серверной базы данных не содержит.Можно ли копировать базу, пока в ней работают пользователи?
.dt — нет. Выгрузку .dt лучше тоже делать без активных сеансов. Бэкап средствами СУБД (MS SQL, PostgreSQL) снимается без остановки работы.Чем `.dt` отличается от копии файла `1Cv8.1CD`?
.dt — это выгрузка данных и конфигурации в архив, он не зависит от типа базы и переносится между файловой и серверной. 1Cv8.1CD — физический файл только файловой базы, копируется как есть.Как перенести базу с сервера на обычный компьютер?
.dt из серверной базы, затем создайте на компьютере пустую файловую базу и загрузите в неё этот .dt. Формат от типа хранилища не зависит.Почему `.dt` не загружается — пишет про версию платформы?
.dt можно только на платформу номером не ниже той, где делалась выгрузка. Обновите платформу на целевом компьютере до версии не ниже исходной.