Восстановление базы 1С из резервной копии: .dt, ZIP с файлом 1Cv8.1CD и бэкап СУБД

· 10 мин

Содержание

Загрузить 1С из архива — значит восстановить информационную базу из резервной копии. Способ зависит от того, что лежит в архиве. Файл .dt загружают через Конфигуратор: Администрирование → Загрузить информационную базу. Архив .zip с файлом 1Cv8.1CD распаковывают в пустую папку и добавляют эту папку в список баз. Бэкап .bak или .backup восстанавливают средствами СУБД, а потом подключают к кластеру 1С.

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

Что лежит в архиве и что приготовить заранее

Откройте архив и посмотрите на расширение файла внутри. От него зависит весь дальнейший порядок действий.

Что внутриЧто этоКак загружать
*.dtВыгрузка информационной базы: конфигурация, данные, пользователиКонфигуратор, Загрузить информационную базу
1Cv8.1CDСам файл файловой базыРаспаковать в папку, добавить в список баз
*.bakРезервная копия базы MS SQL ServerВосстановить в SQL Server, подключить к кластеру
*.backup, *.dumpРезервная копия PostgreSQLpg_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 через Конфигуратор

  1. Создайте пустую базу. В окне запуска нажмите Добавить, выберите Создание новой информационной базы, затем Создание информационной базы без конфигурации. Укажите пустую папку.
  2. Выделите новую базу и нажмите Конфигуратор. Пароль у пустой базы не спрашивается.
  3. Откройте меню Администрирование → Загрузить информационную базу.
  4. Выберите файл .dt и подтвердите.
  5. Платформа предупредит, что текущие данные будут заменены. В пустой базе терять нечего — соглашайтесь.
  6. Дождитесь сообщения об успешной загрузке. Конфигуратор предложит перезапуститься — согласитесь.
  7. Закройте Конфигуратор и запустите базу в режиме 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

  1. Создайте пустую папку, например D:\Bases\Buh_restore.
  2. Распакуйте в неё архив. В папке должен оказаться файл 1Cv8.1CD. Если рядом есть папка 1Cv8Log — распакуйте и её, это журнал регистрации.
  3. В окне запуска нажмите Добавить и выберите Добавление в список существующей информационной базы.
  4. Задайте имя, например «Бухгалтерия — копия от 03.10», и укажите папку с файлом.
  5. Запустите базу в режиме 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. Откройте консоль администрирования серверов 1С:Предприятия.
  2. В кластере перейдите к Информационные базы и создайте новую.
  3. Укажите имя базы в кластере, сервер СУБД, тип СУБД и имя восстановленной базы данных.
  4. Снимите флажок «Создать базу данных в случае ее отсутствия». База уже существует, создавать её заново не нужно.
  5. Включите блокировку регламентных заданий, если это тестовая копия.
  6. Добавьте базу в список на клиентском компьютере: сервер и имя базы в кластере.

Если бэкапа СУБД нет, а есть только .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. Копии храните на другом диске или сервере: архив на том же диске погибнет вместе с базой.

Резервное копирование настроено правильно
Выполнено: 0 / 5

Ошибки при загрузке из архива и что с ними делать

Диагностика: выберите симптом

chdbfl.exe и Тестирование и исправление меняют файл базы. Запускайте их на копии, а не на единственном экземпляре. Пока идёт проверка, база недоступна пользователям.

Как проверить базу после восстановления

Запустилась — ещё не значит, что восстановилась правильно. Пройдите несколько проверок.

  1. Дата последних данных. Откройте журнал документов и отсортируйте по дате. Последний документ должен соответствовать дате копии.
  2. Остатки. Сформируйте оборотно-сальдовую ведомость за прошлый закрытый период в восстановленной и в исходной базе. Суммы должны совпасть.
  3. Пользователи и права. Войдите под двумя-тремя пользователями с разными ролями.
  4. Расширения и внешние обработки. Проверьте, что подключены нужные расширения и работают печатные формы.
  5. Обмены и регламентные задания. Это самый опасный пункт. Копия базы может начать выгружать данные в другую программу, отправлять отчётность или загружать банковские выписки.

В типовых конфигурациях на базе Библиотеки стандартных подсистем после восстановления программа замечает, что база перемещена или скопирована. Она блокирует работу с внешними ресурсами и спрашивает, что произошло. Если это тестовая копия — отвечайте, что это копия базы. Если вы восстановили рабочую базу после сбоя — подтвердите, что база перемещена, и работа с внешними ресурсами возобновится.

Не разрешайте копии работать с внешними ресурсами, пока не убедились, что синхронизации и обмены в ней отключены. Иначе копия отправит данные в банк, ЭДО или учётную систему партнёра, и в рабочей базе появятся расхождения.

После проверок удалите из списка баз временные копии, которые больше не нужны. Так меньше шансов, что кто-то начнёт работать не в той базе.

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

Можно ли загрузить .dt с сервера в файловую базу?
Да. Формат .dt не зависит от режима работы. Создайте пустую файловую базу и загрузите в неё выгрузку через Конфигуратор.
Нужна ли отдельная лицензия на восстановленную копию базы?
Лицензии 1С выдаются на рабочие места и сервер, а не на базу. Копия запускается в рамках тех же лицензий, но каждый открытый сеанс занимает лицензию.
Сколько времени занимает загрузка .dt?
Зависит от размера базы и скорости диска. Базу на 2-3 ГБ загружают за минуты, базу на десятки гигабайт — часами. На SSD быстрее в разы.
Можно ли достать из архива только один документ, не заменяя базу?
Да. Восстановите копию в отдельную базу и перенесите нужные объекты обработкой выгрузки-загрузки данных XML. Рабочая база при этом не меняется.
Что делать, если копия сделана на старой конфигурации?
Загрузите её как есть, а затем обновите конфигурацию до нужного релиза обычным порядком. Перескакивать через несколько релизов нельзя, если поставщик требует промежуточных обновлений.