Восстановление базы 1С из резервной копии: .dt, ZIP с файлом 1Cv8.1CD и бэкап СУБД
Содержание
Загрузить 1С из архива — значит восстановить информационную базу из резервной копии. Способ зависит от того, что лежит в архиве. Файл .dt загружают через Конфигуратор: Администрирование → Загрузить информационную базу. Архив .zip с файлом 1Cv8.1CD распаковывают в пустую папку и добавляют эту папку в список баз. Бэкап .bak или .backup восстанавливают средствами СУБД, а потом подключают к кластеру 1С.
Главное правило: загружайте копию в новую пустую базу, а не поверх рабочей. Так вы сначала проверите архив и только потом решите, менять ли им боевые данные. Всё ниже относится к платформе 1С:Предприятие 8.3 и типовым конфигурациям на ней.
Что лежит в архиве и что приготовить заранее
Откройте архив и посмотрите на расширение файла внутри. От него зависит весь дальнейший порядок действий.
| Что внутри | Что это | Как загружать |
|---|---|---|
*.dt | Выгрузка информационной базы: конфигурация, данные, пользователи | Конфигуратор, Загрузить информационную базу |
1Cv8.1CD | Сам файл файловой базы | Распаковать в папку, добавить в список баз |
*.bak | Резервная копия базы MS SQL Server | Восстановить в SQL Server, подключить к кластеру |
*.backup, *.dump | Резервная копия PostgreSQL | pg_restore, затем подключить к кластеру |
*.cf | Только конфигурация, без данных | Это не копия базы: документов и справочников в нём нет |
*.cfe | Расширение конфигурации | Загружается в существующую базу отдельно |
Файл .cf не восстановит ваши данные. Его часто путают с резервной копией, потому что он лежит в папке рядом с бэкапами. Если в архиве только .cf, данные ищите в другом месте.
Перед загрузкой подготовьте:
- 💾 Место на диске.
.dtсжат, после загрузки база занимает в несколько раз больше. Свободного места нужно с запасом от размера будущей базы. - 🧩 Платформу нужной версии. Номер версии платформы на этом компьютере должен быть не ниже того, на котором делали выгрузку.
- 🔑 Логин и пароль. В
.dtи в1Cv8.1CDхранятся пользователи исходной базы. После восстановления войти можно только под одним из них. - 📁 Пустую папку с понятным именем, например
D:\Bases\Buh_restore. Не распаковывайте копию в папку работающей базы. - 🔒 Распакованный файл. Если
.dtлежит внутри ZIP или RAR, сначала извлеките его. Конфигуратор не читает архивы.
Какой способ восстановления подходит вашей базе
База 1С бывает файловой и клиент-серверной. Файловая хранится одним файлом 1Cv8.1CD в папке. Клиент-серверная живёт в СУБД (MS SQL Server или PostgreSQL) и работает через сервер 1С.
Посмотреть режим просто. В окне запуска выделите базу: внизу появится строка подключения. File="D:\..." — файловая база. Srvr="..."; Ref="..." — серверная.
| Ситуация | Способ | Когда удобен | Риски |
|---|---|---|---|
Файловая база, копия .dt | Загрузка через Конфигуратор | Универсальный вариант, копия из любого режима | Нужен монопольный доступ, долго на больших базах |
Файловая база, ZIP с 1Cv8.1CD | Распаковка и добавление в список | Самый быстрый путь | Повреждённый архив = повреждённый файл базы |
Серверная база, .dt | Загрузка через Конфигуратор в серверную базу | Переезд с файловой на сервер | На базах в десятки гигабайт идёт часами |
Серверная база, .bak/.backup | Восстановление в СУБД | Большие базы, регулярные бэкапы | Нужны права администратора СУБД |
| Копия из встроенного резервного копирования | Форма восстановления в самой программе | Файловая база, копии делались по расписанию | Работает только для файлового режима |
.dt — переносимый формат. Выгрузку файловой базы можно загрузить в серверную и наоборот. Бэкап SQL в файловую базу
напрямую не превратить: сначала восстановите его в СУБД, подключите к кластеру и уже оттуда выгрузите .dt.
Загрузка файловой базы из архива по шагам
Вариант 1. Файл .dt через Конфигуратор
- Создайте пустую базу. В окне запуска нажмите
Добавить, выберитеСоздание новой информационной базы, затемСоздание информационной базы без конфигурации. Укажите пустую папку. - Выделите новую базу и нажмите
Конфигуратор. Пароль у пустой базы не спрашивается. - Откройте меню
Администрирование → Загрузить информационную базу. - Выберите файл
.dtи подтвердите. - Платформа предупредит, что текущие данные будут заменены. В пустой базе терять нечего — соглашайтесь.
- Дождитесь сообщения об успешной загрузке. Конфигуратор предложит перезапуститься — согласитесь.
- Закройте Конфигуратор и запустите базу в режиме
1С:Предприятиепод пользователем из исходной базы.
Загрузка .dt полностью заменяет конфигурацию и данные базы, в которую идёт. Если загружаете поверх рабочей базы, все сеансы пользователей должны быть закрыты: загрузка требует монопольного доступа. Сначала выгрузите текущее состояние в отдельный .dt.
Тот же шаг можно выполнить из командной строки. Это удобно для больших баз и для скриптов:
"C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" CREATEINFOBASE File="D:\Bases\Buh_restore"
"C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh_restore" /RestoreIB "E:\Backup\buh.dt" /Out"E:\Backup\restore.log"
Номер версии в пути замените на установленный у вас. Результат загрузки смотрите в файле restore.log.
Вариант 2. ZIP с файлом 1Cv8.1CD
- Создайте пустую папку, например
D:\Bases\Buh_restore. - Распакуйте в неё архив. В папке должен оказаться файл
1Cv8.1CD. Если рядом есть папка1Cv8Log— распакуйте и её, это журнал регистрации. - В окне запуска нажмите
Добавитьи выберитеДобавление в список существующей информационной базы. - Задайте имя, например «Бухгалтерия — копия от 03.10», и укажите папку с файлом.
- Запустите базу в режиме
1С:Предприятие.
Файлы с расширением .1CL и папку 1Cv8tmp, если они попали в архив, копировать не нужно. Платформа создаст их сама.
Имя копии в списке баз пишите с датой. Через месяц в списке будут «Бухгалтерия», «Бухгалтерия (1)» и «Бухгалтерия новая», и угадать, какая из них рабочая, будет трудно.
Вариант 3. Копия из встроенного резервного копирования
В типовых конфигурациях на файловой базе есть своё резервное копирование
. В Бухгалтерии предприятия 3.0 оно находится в разделе Администрирование → Обслуживание → Резервное копирование и восстановление.
На этой же форме есть команда восстановления из резервной копии. Программа попросит выбрать файл копии, завершит сеансы и сама подменит данные. Перед запуском убедитесь, что все пользователи предупреждены: их работа прервётся.
Если копию нужно открыть рядом, а не поверх рабочей базы, используйте вариант 2: распакуйте архив в отдельную папку.
Клиент-серверная база: восстановление из бэкапа СУБД
Для больших серверных баз загрузка .dt идёт долго. Восстановление средствами СУБД быстрее и надёжнее.
MS SQL Server. Откройте SQL Server Management Studio. Щёлкните правой кнопкой по папке Databases и выберите Restore Database. Укажите файл .bak и задайте новое имя базы, например buh_restore. Если восстанавливаете рядом с рабочей базой, на вкладке файлов поменяйте имена файлов данных и журнала, иначе SQL Server попытается перезаписать файлы рабочей базы.
PostgreSQL. Создайте пустую базу и восстановите в неё дамп:
createdb -U postgres -T template0 buh_restore
pg_restore -U postgres -d buh_restore -j 4 /backup/buh.backup
Ключ -j 4 распараллеливает восстановление на четыре потока. Если дамп сделан в текстовом формате (.sql), используйте psql -d buh_restore -f buh.sql.
После восстановления подключите базу к кластеру 1С:
- Откройте консоль администрирования серверов 1С:Предприятия.
- В кластере перейдите к
Информационные базыи создайте новую. - Укажите имя базы в кластере, сервер СУБД, тип СУБД и имя восстановленной базы данных.
- Снимите флажок «Создать базу данных в случае ее отсутствия». База уже существует, создавать её заново не нужно.
- Включите блокировку регламентных заданий, если это тестовая копия.
- Добавьте базу в список на клиентском компьютере: сервер и имя базы в кластере.
Если бэкапа СУБД нет, а есть только .dt, создайте пустую базу в кластере и загрузите выгрузку через Конфигуратор, как в варианте 1. Порядок тот же, отличается только строка подключения.
Настройка выгрузки и архивов по расписанию
Восстанавливать проще, когда архивы делаются сами. Для файловой базы есть два пути.
Встроенное резервное копирование. В разделе Администрирование → Обслуживание → Резервное копирование и восстановление включите автоматическое копирование. Задайте расписание, каталог для архивов и сколько копий хранить. Копирование выполняет сама программа: в назначенное время она предложит завершить работу и сделает архив. Для серверных баз этот механизм не предназначен: там копии делают средствами СУБД.
Пакетная выгрузка .dt планировщиком Windows. Подходит, если нужна копия ночью без участия людей:
@echo off
set D=%date:~6,4%-%date:~3,2%-%date:~0,2%
"C:\Program Files\1cv8\8.3.25.1374\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DumpIB"E:\Backup\buh_%D%.dt" /Out"E:\Backup\dump_%D%.log"
"C:\Program Files\7-Zip\7z.exe" a "E:\Backup\buh_%D%.zip" "E:\Backup\buh_%D%.dt" && del "E:\Backup\buh_%D%.dt"
Создайте задачу в Планировщике заданий Windows на ночное время. Запускайте выгрузку, когда пользователи не работают: так копия получится согласованной. Формат даты в переменной D зависит от региональных настроек Windows: проверьте его командой echo %date%.
Пароль в bat-файле лежит открытым текстом. Создайте для выгрузки отдельного пользователя 1С с минимальными правами на администрирование и закройте папку со скриптом от посторонних.
Для серверной базы на MS SQL Server настройте Maintenance Plan с полным бэкапом раз в сутки. Для PostgreSQL — задание cron с pg_dump -Fc. Копии храните на другом диске или сервере: архив на том же диске погибнет вместе с базой.
Ошибки при загрузке из архива и что с ними делать
chdbfl.exe и Тестирование и исправление меняют файл базы. Запускайте их на копии, а не на единственном экземпляре. Пока идёт проверка, база недоступна пользователям.
Как проверить базу после восстановления
Запустилась — ещё не значит, что восстановилась правильно. Пройдите несколько проверок.
- Дата последних данных. Откройте журнал документов и отсортируйте по дате. Последний документ должен соответствовать дате копии.
- Остатки. Сформируйте оборотно-сальдовую ведомость за прошлый закрытый период в восстановленной и в исходной базе. Суммы должны совпасть.
- Пользователи и права. Войдите под двумя-тремя пользователями с разными ролями.
- Расширения и внешние обработки. Проверьте, что подключены нужные расширения и работают печатные формы.
- Обмены и регламентные задания. Это самый опасный пункт. Копия базы может начать выгружать данные в другую программу, отправлять отчётность или загружать банковские выписки.
В типовых конфигурациях на базе Библиотеки стандартных подсистем после восстановления программа замечает, что база перемещена или скопирована. Она блокирует работу с внешними ресурсами и спрашивает, что произошло. Если это тестовая копия — отвечайте, что это копия базы. Если вы восстановили рабочую базу после сбоя — подтвердите, что база перемещена, и работа с внешними ресурсами возобновится.
Не разрешайте копии работать с внешними ресурсами, пока не убедились, что синхронизации и обмены в ней отключены. Иначе копия отправит данные в банк, ЭДО или учётную систему партнёра, и в рабочей базе появятся расхождения.
После проверок удалите из списка баз временные копии, которые больше не нужны. Так меньше шансов, что кто-то начнёт работать не в той базе.