Восстанавливаем информационную базу 1С из резервной копии: .dt, .zip, .1CD и бэкап СУБД
Содержание
Способ зависит от того, что лежит в архиве. Файл .dt загружают в пустую базу: Конфигуратор → Администрирование → Загрузить информационную базу. Если внутри папка с файлом 1Cv8.1CD, распакуйте её на диск и в окне запуска 1С нажмите «Добавить» → «Добавление в список существующей информационной базы». Бэкап MS SQL (.bak) или PostgreSQL сначала восстанавливают средствами СУБД, а потом регистрируют базу в кластере 1С.
Порядок общий для платформы 8.3 и не зависит от конфигурации: так же добавляют из архива Бухгалтерию, ЗУП, УТ или самописную базу. Отличаются только тип архива и режим работы базы — файловый или клиент-серверный.
Что проверить в архиве до начала восстановления
Сначала определите тип резервной копии. От этого зависит весь дальнейший путь.
| Что внутри архива | Откуда берётся | Как добавлять |
|---|---|---|
*.dt | Выгрузка из Конфигуратора или регламентное копирование | Загрузка в пустую базу через Конфигуратор |
Папка с 1Cv8.1CD (часто в .zip) | Копия каталога файловой базы, резервное копирование из программы | Распаковать и подключить как существующую |
*.cf | Сохранённая конфигурация | Это не база: данных в файле нет |
*.bak | Резервная копия MS SQL Server | Восстановить в SQL, затем зарегистрировать в кластере |
*.backup, *.dump, *.sql | Дамп PostgreSQL | pg_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). Она проверяет физическую целостность файла базы. Запускайте её при закрытой базе и сначала без флажка «Исправлять обнаруженные ошибки».
Добавление распакованной файловой базы в список
Самый быстрый вариант: архив содержит каталог базы целиком. Ничего загружать не нужно — достаточно положить файлы на диск и показать их окну запуска.
- Распакуйте архив в отдельную папку, например
D:\Bases\Buh_restore. В ней должен оказаться файл1Cv8.1CD. - Запустите 1С и в окне со списком баз нажмите «Добавить».
- Выберите «Добавление в список существующей информационной базы» и нажмите «Далее».
- Укажите имя для списка (например, «Бухгалтерия — копия от 05.10»), тип расположения «На данном компьютере или на компьютере в локальной сети» и путь к папке, а не к самому файлу
1Cv8.1CD. - Нажмите «Далее», при необходимости выберите вариант запуска и разрядность, затем «Готово».
Если архив не распаковывать, а открыть «на лету» прямо из .zip, ничего не выйдет: базе нужен обычный каталог с правами на запись.
Рядом с 1Cv8.1CD в архиве иногда лежат 1Cv8.cfl или 1Cv8tmp.1CD. Это служебные файлы: кэш и временная база. Их можно не копировать.
Если база должна стоять в общей папке
Для работы нескольких пользователей распакуйте базу на сервер в общий ресурс. Путь в окне запуска указывайте сетевой: \\SRV-FILES\Bases\Buh_restore. Всем пользователям нужны права на чтение и изменение этой папки. Без права записи база откроется с ошибкой доступа к файлу.
Восстановление из копии, созданной самой программой
В типовых конфигурациях на базе БСП есть встроенное резервное копирование
файловой базы: Администрирование → Обслуживание → Резервное копирование и восстановление. Программа складывает копии в .zip, внутри — тот же 1Cv8.1CD.
Такую копию можно восстановить двумя путями:
- командой восстановления в том же разделе — она заменит текущую базу содержимым копии;
- вручную: распаковать
.zipв новую папку и подключить как существующую базу (шаги выше).
Ручной путь безопаснее, когда нужно что-то сравнить: рабочая база остаётся нетронутой, копия живёт рядом.
Загрузка файла выгрузки .dt
Файл .dt — это выгрузка базы в собственном формате 1С. Загружают его только в Конфигураторе и только в существующую базу. Поэтому сначала создают пустую.
Шаг 1. Создайте пустую информационную базу
- В окне запуска нажмите «Добавить».
- Выберите «Создание новой информационной базы».
- Отметьте «Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной ранее информационной базы».
- Задайте имя и путь к новой пустой папке, нажмите «Готово».
Шаблон конфигурации здесь не нужен. Всё, что было в исходной базе, — конфигурация, данные, пользователи — придёт из .dt.
Шаг 2. Загрузите выгрузку
- Выделите новую базу в списке и нажмите «Конфигуратор».
- В меню выберите
Администрирование → Загрузить информационную базу. - Укажите файл
.dtи нажмите «Открыть». - Подтвердите предупреждение о том, что текущие данные будут заменены.
- Дождитесь окончания. Для базы на 10–20 ГБ это может занять от десятков минут до нескольких часов — зависит от диска и процессора.
- Конфигуратор предложит перезапуститься. Согласитесь.
Загрузка .dt полностью затирает базу, в которую идёт. Никогда не выбирайте рабочую базу как цель для загрузки архива, если не собираетесь её заменить. Для проверки копии всегда создавайте новую.
Загрузка требует монопольного доступа: в базе не должно быть других сеансов. С пустой новой базой проблем не бывает. Если же загружаете в существующую, сначала отключите пользователей.
Шаг 3. Войдите под пользователем из архива
После загрузки в базе появляются пользователи исходной базы с их паролями. Если при входе Конфигуратор просит логин — это нормально. Пароль нужно знать заранее или выяснить у администратора, который делал выгрузку.
Клиент-серверная база: восстановление из .dt и из бэкапа СУБД
На сервере 1С есть два пути. Через .dt — проще и не требует доступа к СУБД. Через бэкап SQL — быстрее на больших базах и сохраняет базу «как есть».
| Способ | Когда подходит | Риски |
|---|---|---|
Загрузка .dt в новую серверную базу | Есть только выгрузка, нужен перенос между СУБД или из файловой | Долго на базах в сотни гигабайт |
RESTORE DATABASE в MS SQL | Есть .bak, база большая | Нужна та же схема смещения дат и права на сервере SQL |
pg_restore в PostgreSQL | Есть дамп PostgreSQL | Версия сборки PostgreSQL для 1С должна подходить |
Вариант 1. Новая серверная база + .dt
- В окне запуска: «Добавить» → «Создание новой информационной базы» → «Создание информационной базы без конфигурации…».
- Тип расположения — «На сервере 1С:Предприятия».
- Заполните параметры: кластер серверов , имя базы в кластере, тип СУБД, сервер баз данных, имя базы данных, пользователя СУБД и пароль.
- Отметьте «Создать базу данных в случае ее отсутствия».
- Для копии отметьте «Установить блокировку регламентных заданий» — о причине ниже.
- Дальше — так же, как для файловой: Конфигуратор →
Администрирование → Загрузить информационную базу.
Для 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С и раскройте нужный кластер.
- На узле «Информационные базы» вызовите «Создать» → «Информационная база».
- Укажите имя в кластере, сервер баз данных, тип СУБД и имя базы
buh_copy. - Снимите флажок «Создать базу данных в случае ее отсутствия» и проверьте, что смещение дат совпадает с исходной базой.
- Включите блокировку регламентных заданий и сохраните.
Затем добавьте базу в окно запуска как существующую: «На сервере 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) или из окна запуска под администратором. При первом запуске типовая конфигурация может выполнить обработчики обновления, если релиз в базе новее, чем отмечено в её служебных данных.
Что проверить в копии
Массовое восстановление: команды и 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С и сохраните копию файла.