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

· 11 мин

Содержание

Способ зависит от того, что лежит в архиве. Файл .dt загружают в пустую базу: Конфигуратор → Администрирование → Загрузить информационную базу. Если внутри папка с файлом 1Cv8.1CD, распакуйте её на диск и в окне запуска 1С нажмите «Добавить» → «Добавление в список существующей информационной базы». Бэкап MS SQL (.bak) или PostgreSQL сначала восстанавливают средствами СУБД, а потом регистрируют базу в кластере 1С.

Порядок общий для платформы 8.3 и не зависит от конфигурации: так же добавляют из архива Бухгалтерию, ЗУП, УТ или самописную базу. Отличаются только тип архива и режим работы базы — файловый или клиент-серверный.

Что проверить в архиве до начала восстановления

Сначала определите тип резервной копии. От этого зависит весь дальнейший путь.

Что внутри архиваОткуда берётсяКак добавлять
*.dtВыгрузка из Конфигуратора или регламентное копированиеЗагрузка в пустую базу через Конфигуратор
Папка с 1Cv8.1CD (часто в .zip)Копия каталога файловой базы, резервное копирование из программыРаспаковать и подключить как существующую
*.cfСохранённая конфигурацияЭто не база: данных в файле нет
*.bakРезервная копия MS SQL ServerВосстановить в SQL, затем зарегистрировать в кластере
*.backup, *.dump, *.sqlДамп PostgreSQLpg_restore или psql, затем регистрация в кластере

Файл .cf часто путают с архивом базы. В нём только конфигурация — справочники, документы и проводки там пустые. Если другой копии нет, данные из .cf не достать.

Перед стартом пройдитесь по короткому списку:

  • 📦 Целостность архива. Проверьте .zip или .7z командой 7z t D:\Archive\buh.zip. Ошибка CRC на этом этапе — повод искать другую копию, а не чинить базу.
  • 💾 Место на диске. База после загрузки .dt обычно в несколько раз больше самого файла выгрузки: .dt сжат. Закладывайте запас минимум в 3–5 размеров архива плюс место под временные файлы.
  • 🔢 Версия платформы. Загружайте .dt на платформе с номером не ниже той, на которой делали выгрузку. Номер обычно видно в имени файла регламентной копии или его знает тот, кто делал архив.
  • 🧩 Тип базы источника. Выгрузку .dt из файловой базы можно загрузить в серверную и наоборот. Бэкап SQL подходит только для клиент-серверного варианта.

Для распакованного 1Cv8.1CD есть отдельная проверка — утилита chdbfl.exe из папки bin установленной платформы (например, C:\Program Files\1cv8\8.3.xx.xxxx\bin\chdbfl.exe). Она проверяет физическую целостность файла базы. Запускайте её при закрытой базе и сначала без флажка «Исправлять обнаруженные ошибки».

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

Самый быстрый вариант: архив содержит каталог базы целиком. Ничего загружать не нужно — достаточно положить файлы на диск и показать их окну запуска.

  1. Распакуйте архив в отдельную папку, например D:\Bases\Buh_restore. В ней должен оказаться файл 1Cv8.1CD.
  2. Запустите 1С и в окне со списком баз нажмите «Добавить».
  3. Выберите «Добавление в список существующей информационной базы» и нажмите «Далее».
  4. Укажите имя для списка (например, «Бухгалтерия — копия от 05.10»), тип расположения «На данном компьютере или на компьютере в локальной сети» и путь к папке, а не к самому файлу 1Cv8.1CD.
  5. Нажмите «Далее», при необходимости выберите вариант запуска и разрядность, затем «Готово».

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

Рядом с 1Cv8.1CD в архиве иногда лежат 1Cv8.cfl или 1Cv8tmp.1CD. Это служебные файлы: кэш и временная база. Их можно не копировать.

Если база должна стоять в общей папке

Для работы нескольких пользователей распакуйте базу на сервер в общий ресурс. Путь в окне запуска указывайте сетевой: \\SRV-FILES\Bases\Buh_restore. Всем пользователям нужны права на чтение и изменение этой папки. Без права записи база откроется с ошибкой доступа к файлу.

Восстановление из копии, созданной самой программой

В типовых конфигурациях на базе БСП есть встроенное резервное копирование файловой базы: Администрирование → Обслуживание → Резервное копирование и восстановление. Программа складывает копии в .zip, внутри — тот же 1Cv8.1CD.

Такую копию можно восстановить двумя путями:

  • командой восстановления в том же разделе — она заменит текущую базу содержимым копии;
  • вручную: распаковать .zip в новую папку и подключить как существующую базу (шаги выше).

Ручной путь безопаснее, когда нужно что-то сравнить: рабочая база остаётся нетронутой, копия живёт рядом.

Загрузка файла выгрузки .dt

Файл .dt — это выгрузка базы в собственном формате 1С. Загружают его только в Конфигураторе и только в существующую базу. Поэтому сначала создают пустую.

Шаг 1. Создайте пустую информационную базу

  1. В окне запуска нажмите «Добавить».
  2. Выберите «Создание новой информационной базы».
  3. Отметьте «Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной ранее информационной базы».
  4. Задайте имя и путь к новой пустой папке, нажмите «Готово».

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

Шаг 2. Загрузите выгрузку

  1. Выделите новую базу в списке и нажмите «Конфигуратор».
  2. В меню выберите Администрирование → Загрузить информационную базу.
  3. Укажите файл .dt и нажмите «Открыть».
  4. Подтвердите предупреждение о том, что текущие данные будут заменены.
  5. Дождитесь окончания. Для базы на 10–20 ГБ это может занять от десятков минут до нескольких часов — зависит от диска и процессора.
  6. Конфигуратор предложит перезапуститься. Согласитесь.

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

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

Шаг 3. Войдите под пользователем из архива

После загрузки в базе появляются пользователи исходной базы с их паролями. Если при входе Конфигуратор просит логин — это нормально. Пароль нужно знать заранее или выяснить у администратора, который делал выгрузку.

Клиент-серверная база: восстановление из .dt и из бэкапа СУБД

На сервере 1С есть два пути. Через .dt — проще и не требует доступа к СУБД. Через бэкап SQL — быстрее на больших базах и сохраняет базу «как есть».

СпособКогда подходитРиски
Загрузка .dt в новую серверную базуЕсть только выгрузка, нужен перенос между СУБД или из файловойДолго на базах в сотни гигабайт
RESTORE DATABASE в MS SQLЕсть .bak, база большаяНужна та же схема смещения дат и права на сервере SQL
pg_restore в PostgreSQLЕсть дамп PostgreSQLВерсия сборки PostgreSQL для 1С должна подходить

Вариант 1. Новая серверная база + .dt

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

Для MS SQL поле «Смещение дат» оставьте равным 2000 — это стандартное значение для баз 1С на этой СУБД.

Вариант 2. Восстановление .bak в MS SQL Server

Сначала узнайте логические имена файлов внутри бэкапа:

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

Затем восстановите под новым именем, переложив файлы данных, чтобы не задеть рабочую базу:

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

Вместо buh и buh_log подставьте имена из первого запроса. После этого зарегистрируйте базу в кластере 1С:

  1. Откройте консоль администрирования серверов 1С и раскройте нужный кластер.
  2. На узле «Информационные базы» вызовите «Создать» → «Информационная база».
  3. Укажите имя в кластере, сервер баз данных, тип СУБД и имя базы buh_copy.
  4. Снимите флажок «Создать базу данных в случае ее отсутствия» и проверьте, что смещение дат совпадает с исходной базой.
  5. Включите блокировку регламентных заданий и сохраните.

Затем добавьте базу в окно запуска как существующую: «На сервере 1С:Предприятия», кластер и имя базы в кластере.

Если смещение дат указать не то, что было у исходной базы, даты в документах «уедут» на 2000 лет. Это частая причина, по которой восстановленная копия выглядит сломанной.

Вариант 3. Дамп PostgreSQL

Создайте пустую базу и восстановите дамп в неё:

createdb -U postgres -T template0 buh_copy
pg_restore -U postgres -d buh_copy -j 4 /backup/buh.backup

Ключ -j 4 распараллеливает загрузку на четыре потока — на больших базах это заметно быстрее. Если дамп текстовый (.sql), используйте psql -U postgres -d buh_copy -f /backup/buh.sql. Регистрация в кластере — как в варианте 2, тип СУБД PostgreSQL.

Первый запуск копии: перемещение, обновление и проверка

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

Сообщение о перемещённой базе

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

Если же копия станет новой рабочей базой (переезд на другой сервер), выберите вариант про перемещённую базу. Тогда внешние ресурсы останутся включёнными.

Таблицы и конфигурация после загрузки

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

Если база открывается с ошибками или отчёты показывают странные остатки, запустите Конфигуратор → Администрирование → Тестирование и исправление. Для первого прогона отметьте «Реиндексация таблиц информационной базы» и «Проверка логической целостности», а режим исправления выберите только после резервной копии этой же базы.

Открывать в пользовательском режиме восстановленную базу стоит хотя бы раз из Конфигуратора (F5) или из окна запуска под администратором. При первом запуске типовая конфигурация может выполнить обработчики обновления, если релиз в базе новее, чем отмечено в её служебных данных.

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

Копия готова к работе
Выполнено: 0 / 5

Массовое восстановление: команды и bat-скрипт

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

Создать пустую файловую базу и добавить её в список:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" CREATEINFOBASE File="D:\Bases\Buh_restore" /AddInList "Бухгалтерия - копия"

Загрузить в неё .dt в пакетном режиме Конфигуратора:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh_restore" /RestoreIB "D:\Archive\buh.dt" /Out "D:\Logs\buh_restore.log" /DisableStartupDialogs

Если в целевой базе уже есть пользователи, добавьте /N "Администратор" /P "пароль". В пустую базу пользователей нет, логин не нужен.

Готовый скрипт: берёт все .dt из папки и для каждого создаёт отдельную базу с тем же именем.

@echo off
chcp 65001 >nul
set V8="C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe"
set SRC=D:\Archive
set DST=D:\Bases
set LOG=D:\Logs

for %%F in ("%SRC%\*.dt") do (
  echo Восстанавливаю %%~nF
  %V8% CREATEINFOBASE File="%DST%\%%~nF" /AddInList "%%~nF" /Out "%LOG%\%%~nF_create.log"
  %V8% DESIGNER /F "%DST%\%%~nF" /RestoreIB "%%F" /Out "%LOG%\%%~nF_restore.log" /DisableStartupDialogs
)
echo Готово. Проверьте логи в %LOG%

Вместо 8.3.xx.xxxx подставьте номер установленной платформы — он совпадает с именем папки в C:\Program Files\1cv8\. Скрипт ждёт завершения каждой загрузки, потому что 1cv8.exe в пакетном режиме не отпускает консоль до конца операции. Если в логе пусто, а база не появилась — проверьте права на папку назначения.

Для серверных баз в новых версиях платформы есть утилита ibcmd, умеющая создавать базу и загружать в неё выгрузку без Конфигуратора. Набор ключей у неё большой и зависит от версии; точный синтаксис смотрите в ibcmd help.

Где 1С хранит список баз

Окно запуска читает список из файла %APPDATA%\1C\1CEStart\ibases.v8i. Это текстовый файл: каждая база — блок с именем в квадратных скобках и строкой подключения.

[Бухгалтерия - копия]
Connect=File="D:\Bases\Buh_restore";

Если восстановили десятки баз на сервере и хотите раздать их пользователям, удобно подготовить один такой файл и указать его в настройках окна запуска как общий список. Перед ручной правкой закройте все окна 1С и сохраните копию файла.

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

Можно ли загрузить .dt от Бухгалтерии в базу, где уже стоит другая конфигурация?
Можно, но это бессмысленно: загрузка полностью заменяет конфигурацию и данные содержимым выгрузки. От прежней базы ничего не останется.
Архив сделан на платформе 8.3.24, а у меня стоит 8.3.20. Что делать?
Установите платформу с номером не ниже той, на которой делали выгрузку. Несколько версий платформы спокойно работают на одном компьютере, а в свойствах базы в окне запуска можно указать нужную.
Можно ли открыть 1Cv8.1CD на компьютере без лицензии, чтобы просто посмотреть данные?
Без лицензии платформа базу не запустит. Исключение — учебная версия, но она открывает только свои базы с ограничениями. Для просмотра архива нужна рабочая лицензия на этом компьютере или доступ к серверу с лицензиями.
Как добавить копию базы, не мешая рабочей?
Восстанавливайте всегда в новую папку или новую базу СУБД с другим именем. Дайте копии понятное имя в списке, например с датой архива, и при первом запуске отметьте, что это копия.
Загрузка .dt зависла на одном проценте несколько часов. Это сбой?
Не обязательно: самые большие таблицы (регистры и журнал документов) грузятся долго, и индикатор в это время почти не двигается. Смотрите на активность диска в диспетчере задач. Если диск и процессор стоят на нуле дольше часа — прервите и проверьте файл на другой машине.