Возврат базы 1С из бэкапа: файл .dt, копия 1Cv8.1CD, SQL Server и PostgreSQL
Содержание
Чтобы восстановить 1С из резервной копии в формате .dt, откройте базу в Конфигураторе и выберите Администрирование → Загрузить информационную базу..., укажите файл и подтвердите замену данных. Если бэкап — это копия файла 1Cv8.1CD или резервная копия SQL Server/PostgreSQL, база восстанавливается средствами файловой системы или СУБД, а не через 1С.
Способ определяется тем, чем сделана копия. Главное правило: сначала сохраните текущую базу, даже повреждённую, и по возможности поднимайте бэкап рядом, а не поверх рабочей.
Подготовка: что сделать до загрузки бэкапа 1С
Восстановление перезаписывает базу целиком. Всё, что пользователи ввели после момента копии, пропадёт. Поэтому сначала зафиксируйте текущее состояние.
Шаг 1. Сохраните текущую базу
Даже если она «сломана», сохраните её как есть:
- 📁 файловая база — скопируйте всю папку базы (там лежит
1Cv8.1CD) в отдельный каталог; - 🗄️ клиент-серверная — сделайте резервную копию СУБД средствами SQL Server или PostgreSQL;
- 💾 если Конфигуратор открывается — дополнительно выгрузите
.dtчерезАдминистрирование → Выгрузить информационную базу....
Эта копия понадобится, если бэкап окажется битым или старым, а также чтобы потом перенести из неё документы, введённые после даты копии.
Шаг 2. Проверьте сам бэкап
- 📅 дата копии — сколько дней работы придётся вводить заново;
- 📏 размер — файл
.dtв 0 КБ или в разы меньше обычного почти наверняка неполный; - 🔢 версия платформы —
.dtзагружается платформой той же версии или с номером не ниже той, которой он выгружен; - 💽 место на диске — распакованная база обычно занимает в несколько раз больше, чем
.dt.
Шаг 3. Освободите базу от пользователей
Загрузка .dt требует монопольного доступа. Предупредите коллег, попросите выйти и закройте фоновые обработки.
Если завершать сеансы принудительно (через консоль кластера или список активных пользователей), у людей пропадёт несохранённый ввод. Делайте это вне рабочего времени или после объявления.
Шаг 4. Решите, куда восстанавливать
Безопаснее всего сначала поднять бэкап в новую пустую базу, проверить её и только потом подменять рабочую. Так вы не потеряете исходную базу, если копия не та.
Какой способ восстановления выбрать
| Чем сделан бэкап | Как восстанавливать | Когда подходит | Риски |
|---|---|---|---|
Файл .dt (выгрузка 1С) | Конфигуратор: Загрузить информационную базу | Любой тип базы, перенос между серверами и СУБД | Долго на больших базах, нужна подходящая версия платформы |
Копия 1Cv8.1CD | Замена файла в папке базы | Файловая база | Копия, снятая на лету при работающих пользователях, может быть повреждена |
.bak SQL Server | SSMS или RESTORE DATABASE | Клиент-серверная база на MS SQL | Неверный путь файлов, занятая база, несовпадение имени |
| Дамп PostgreSQL | pg_restore или psql | Клиент-серверная база на PostgreSQL | Нужна та же сборка PostgreSQL для 1С, роль-владелец |
| Копия из сервиса облака/хостинга | Через панель провайдера | Базы в аренде | Сроки хранения копий ограничены |
💡 Если есть и .dt, и бэкап СУБД одной даты, для клиент-серверной базы быстрее восстановить бэкап СУБД: SQL Server и PostgreSQL делают это в разы быстрее, чем Конфигуратор разворачивает .dt.
Восстановление файловой базы 1С через Конфигуратор
Загрузка .dt в новую базу (рекомендуется)
- Запустите 1С и в окне выбора баз нажмите
Добавить. - Выберите
Создание новой информационной базы→Создание информационной базы без конфигурации.... - Укажите тип
На данном компьютере или на компьютере в локальной сетии пустую папку для базы. - Запустите созданную базу кнопкой
Конфигуратор. - Откройте
Администрирование → Загрузить информационную базу.... - Выберите файл
.dtи подтвердите предупреждение о том, что данные будут заменены. - Дождитесь сообщения об успешной загрузке. Конфигуратор предложит перезапуститься — согласитесь.
На базе в 5–10 ГБ загрузка идёт от нескольких минут до часа, всё зависит от диска. Не прерывайте процесс: недогруженная база непригодна, и её придётся загружать заново.
Загрузка .dt поверх рабочей базы
Порядок тот же, только начинаете с пункта 4 в существующей базе. Всё содержимое базы, включая список пользователей и конфигурацию, будет заменено содержимым файла. Пароли пользователей тоже станут такими, какие были на дату копии.
Замена файла 1Cv8.1CD
Если бэкап — это копия папки или файла базы:
- Убедитесь, что в базе нет ни одного сеанса.
- Переименуйте текущий
1Cv8.1CD, например в1Cv8_old.1CD(не удаляйте). - Скопируйте файл из бэкапа в папку базы под именем
1Cv8.1CD. - Запустите базу в режиме 1С:Предприятие.
Если база не открывается после замены, запустите chdbfl.exe из папки bin платформы — это утилита проверки физической целостности файловой базы. Работает только при закрытой базе.
Восстановление клиент-серверной базы 1С через SQL Server Management Studio
В клиент-серверном варианте 1С хранит данные в СУБД, а кластер 1С лишь знает, к какой базе данных подключаться. Поэтому восстанавливаете базу данных СУБД, а 1С подключается к ней как раньше.
Восстановление через SSMS
- Откройте консоль кластера серверов 1С и в свойствах информационной базы включите
Блокировка начала сеансов включена. Завершите активные сеансы (с предупреждением пользователей). - В SSMS подключитесь к серверу, щёлкните правой кнопкой по
Databases→Restore Database.... - В
SourceвыберитеDeviceи укажите файл.bak. - В
Destinationвыберите имя базы, которую восстанавливаете. - На странице
Filesпроверьте пути.mdfи.ldf— они должны указывать на существующие папки этого сервера. - На странице
OptionsотметьтеOverwrite the existing database (WITH REPLACE), если перезаписываете существующую базу, и при необходимостиClose existing connections to destination database. - Нажмите
OKи дождитесь сообщения об успешном восстановлении. - Снимите блокировку начала сеансов в консоли кластера.
То же самое запросом T-SQL
USE master;
ALTER DATABASE [buh] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
RESTORE DATABASE [buh]
FROM DISK = N'D:\Backup\buh_2026_10_06.bak'
WITH REPLACE,
MOVE N'buh' TO N'D:\SQLData\buh.mdf',
MOVE N'buh_log' TO N'D:\SQLData\buh_log.ldf',
STATS = 10;
ALTER DATABASE [buh] SET MULTI_USER;
Логические имена файлов (buh, buh_log в примере) у вас могут быть другими. Узнать их можно командой RESTORE FILELISTONLY FROM DISK = N'путь\к\файлу.bak'.
ROLLBACK IMMEDIATE обрывает все подключения к базе, включая рабочие процессы 1С. Используйте его только после того, как пользователи вышли.
Если бэкап нужно поднять рядом, а не поверх
Восстановите .bak под новым именем, например buh_copy (с другими путями в MOVE). Затем в консоли кластера создайте новую информационную базу, укажите в её свойствах сервер СУБД и имя базы данных buh_copy. Флажок Создать базу данных в случае ее отсутствия не нужен — база уже есть. Так удобно вытащить документ из копии, не трогая рабочую базу.
Клиент-серверная база на PostgreSQL
Для дампа в формате custom:
createdb -U postgres -T template0 buh_copy
pg_restore -U postgres -d buh_copy -j 4 /backup/buh_2026_10_06.dump
Ключ -j задаёт число параллельных потоков. Для текстового дампа .sql используется psql -U postgres -d buh_copy -f buh.sql. Восстанавливайте на ту же сборку PostgreSQL для 1С, на которой работала база: на стандартной сборке 1С базу не откроет.
Автоматизированное восстановление: командная строка и скрипты
Загрузку .dt можно запускать без интерфейса — это пригодится для регулярного разворачивания тестовой копии из свежего бэкапа. Параметр пакетного режима — /RestoreIB.
Файловая база:
@echo off
set V8="C:\Program Files\1cv8\8.3.25.1445\bin\1cv8.exe"
%V8% DESIGNER /F "D:\Bases\BuhTest" /N "Администратор" /P "пароль" ^
/RestoreIB "D:\Backup\buh.dt" /Out "D:\Backup\restore.log" /DisableStartupDialogs
%V8% DESIGNER /S "srv1c\buh_test" /N "Администратор" /P "пароль" ^
/RestoreIB "D:\Backup\buh.dt" /Out "D:\Backup\restore.log" /DisableStartupDialogs
Что здесь важно:
- 🔢 путь к
1cv8.exe— укажите вашу версию платформы, не ниже той, которой выгружен.dt; - 🔐 пароль в bat-файле лежит открытым текстом — храните скрипт в папке с ограниченным доступом;
- 📝 файл из
/Out— читайте его после каждого запуска: при ошибке процесс просто завершается, окна с сообщением не будет; - 🧯 обратная операция, выгрузка, делается параметром
/DumpIB "путь\файл.dt".
Для SQL Server тот же RESTORE DATABASE запускают через sqlcmd или задание SQL Server Agent. Для PostgreSQL — pg_restore из cron или планировщика Windows.
Если скрипт регулярно разворачивает копию рабочей базы для тестов, блокируйте в этой копии регламентные задания (в консоли кластера — флажок Блокировка регламентных заданий включена). Иначе копия начнёт загружать выписки, отправлять почту и обмениваться с другими базами наравне с рабочей.
Типичные ошибки при восстановлении из бэкапа и что с ними делать
Ещё одна частая ловушка — загрузка .dt не в ту базу. Названия в списке баз берутся из настроек конкретного компьютера и могут не совпадать с реальной папкой. Перед загрузкой посмотрите путь внизу окна выбора баз.
Проверка базы после восстановления
Загрузка без ошибок ещё не значит, что база рабочая. Перед тем как пускать пользователей, проверьте:
- Вход. Войдите под администратором и под обычным пользователем. Если список пользователей из копии старый, новых сотрудников придётся завести заново.
- Вопрос о перемещении базы. Типовые конфигурации при первом входе могут спросить, перемещена ли база или это копия. Для рабочей базы, вернувшейся на своё место, ответьте, что база перемещена. Для тестовой копии — что это копия: тогда она не будет обмениваться данными и выполнять регламентные операции от имени рабочей.
- Последние документы. Откройте журналы документов и найдите самый поздний. Его дата должна совпадать с датой бэкапа.
- Остатки и обороты. Сформируйте оборотно-сальдовую ведомость за текущий период и сравните с данными, которые помните или имеете на бумаге.
- Тестирование. При подозрениях запустите в Конфигураторе
Администрирование → Тестирование и исправление...сначала только с проверкой логической целостности, без исправления. - Обмены и интеграции. Проверьте, что узлы обмена, банк-клиент и ЭДО работают и не дублируют уже отправленные данные.
Как вернуть данные, введённые после даты копии
Если бэкап вчерашний, а потерян день работы, откройте сохранённую на шаге 1 «сломанную» базу (если она открывается) и перенесите документы за этот день. Удобный способ — универсальная выгрузка/загрузка данных XML (обработка из поставки ИТС) с отбором по периоду. Если старая база не открывается, документы вводятся заново по первичке.
Профилактика: как сделать так, чтобы восстановление не подвело
Резервная копия, которую ни разу не пробовали восстановить, — это надежда, а не копия. Несколько правил, которые снимают большинство проблем:
- 🔁 проверочное восстановление раз в месяц: разверните последний бэкап в отдельную базу и откройте её;
- 🗂️ правило 3-2-1: три копии, на двух разных носителях, одна вне офиса или сервера;
- ⏱️ глубина хранения: ежедневные копии за 1–2 недели плюс ежемесячные за год — ошибку часто обнаруживают не сразу;
- 🧊 файловую базу
копируйте закрытой или через выгрузку
.dt, а не копированием1Cv8.1CDна лету; - 🗄️ для SQL Server — полная модель восстановления с бэкапами журнала, если важна точка восстановления внутри дня; для простой модели — регулярные полные копии;
- 📝 записывайте, где лежат бэкапы, какой версией платформы сделана выгрузка и кто имеет доступ к паролям.
Встроенное резервное копирование
в типовых конфигурациях (Администрирование → Обслуживание → Резервное копирование и восстановление) работает только для файловой базы. Для клиент-серверной копии настраиваются средствами СУБД.