Восстановление информационной базы 1С 8.3 из резервной копии: файл .dt, SQL и PostgreSQL
Содержание
Чтобы загрузить копию базы
в 1С 8.3, откройте базу в режиме Конфигуратора и выберите Администрирование → Загрузить информационную базу. Укажите файл выгрузки с расширением .dt, подтвердите замену данных и дождитесь сообщения об успешной загрузке. Все текущие данные базы при этом будут заменены данными из копии.
Этот способ одинаково работает для файловой и клиент-серверной базы. Но у серверной базы есть второй путь — восстановить бэкап средствами СУБД (MS SQL Server или PostgreSQL). А если копия хранится как папка с файлом 1Cv8.1CD, Конфигуратор вообще не нужен. Ниже все три варианта, автоматизация и проверка результата.
Перед загрузкой копии базы: что проверить
Загрузка .dt — операция без кнопки «Отменить». Пять минут подготовки спасают от ситуации, когда вместо вчерашней базы получилась пустая или месячной давности.
📋 Что проверить заранее:
- 🗂 Тип копии. Файл
.dt— выгрузка 1С, грузится через Конфигуратор. Файл.bak— бэкап MS SQL. Файлы.backup,.dump,.sql— бэкап PostgreSQL. Папка с1Cv8.1CD— копия файловой базы целиком. - 📅 Дата и размер. Сверьте дату создания копии с той, на которую хотите вернуться. Файл
.dtразмером в несколько килобайт почти наверняка битый или пустой. - 🔢 Версия платформы. Загружайте копию платформой с номером не ниже той, которой делали выгрузку. Номер платформы видно в окне
Справка → О программе. - 👥 Пользователи. Загрузка требует монопольного доступа: в базе не должно быть ни одного сеанса, включая фоновые задания.
- 💾 Свежая копия текущего состояния. Перед загрузкой сделайте выгрузку той базы, которую будете затирать:
Администрирование → Выгрузить информационную базу. Если копия окажется не той, будет куда вернуться. - 💽 Место на диске. Распакованная база обычно в несколько раз больше файла
.dt. Нужно свободное место и под саму базу, и под временные файлы.
Если сомневаетесь, та ли это копия, загрузите её не в рабочую базу, а в новую пустую. В окне запуска нажмите Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации, затем в Конфигураторе этой пустой базы загрузите .dt. Рабочая база останется нетронутой, а копию можно спокойно посмотреть.
Как загрузить копию .dt в 1С через Конфигуратор
Это основной способ. Он подходит для любой конфигурации: Бухгалтерии, ЗУП, УТ, УНФ и самописных.
Пошагово
- Попросите всех пользователей выйти из программы.
- В окне запуска выберите нужную базу и нажмите
Конфигуратор. - Войдите под пользователем с правами администратора.
- В меню выберите
Администрирование → Загрузить информационную базу. - Укажите файл
.dtи нажмитеОткрыть. - Программа предупредит, что данные текущей базы будут потеряны. Подтвердите.
- Дождитесь окончания. Небольшая база загружается за минуты, база в десятки гигабайт — до нескольких часов.
- После сообщения об успешной загрузке Конфигуратор предложит перезапуститься. Согласитесь.
После перезапуска запустите базу в режиме «1С:Предприятие» и проверьте данные (подробно — в разделе о проверке ниже).
Окно «База перемещена или восстановлена из копии»
В типовых конфигурациях на основе БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11 и другие) при первом запуске после загрузки может появиться окно о блокировке работы с внешними ресурсами. Программа заметила, что база сменила адрес или восстановлена из копии, и на всякий случай остановила обмены, отправку почты и выгрузку на сайт.
Выбор здесь важен:
| Ситуация | Что выбрать | Что будет |
|---|---|---|
| Вы развернули копию для проверки или обучения | Это копия информационной базы | Обмены и рассылки в копии останутся отключены |
| Копия заменила рабочую базу | Информационная база перемещена | Обмены, ЭДО и регламентные задания снова заработают |
Если ошибочно разблокировать внешние ресурсы в тестовой копии, она начнёт отправлять документы контрагентам и обмениваться данными с другими базами наравне с рабочей. Последствия придётся разбирать вручную.
Загрузка без Конфигуратора
В типовых конфигурациях на основе БСП в файловом варианте есть ещё один путь — из режима «1С:Предприятие»: Администрирование → Обслуживание → Резервное копирование и восстановление. Там же есть команда восстановления из копии, сделанной этой подсистемой. Под капотом программа всё равно завершит сеансы и загрузит файл, просто без ручного входа в Конфигуратор. Для серверной базы этот механизм не предназначен.
Загрузка копии в клиент-серверную базу: MS SQL и PostgreSQL
В клиент-серверном варианте данные лежат в базе СУБД. Отсюда два способа восстановления.
| Способ | Когда подходит | Риски |
|---|---|---|
Загрузка .dt через Конфигуратор | Копия сделана выгрузкой 1С, база до 10-20 ГБ | Медленно на больших базах |
Восстановление .bak в MS SQL | Есть бэкап SQL Server | Нужен доступ к серверу СУБД |
| Восстановление в PostgreSQL | Есть дамп pg_dump | Нужна версия PostgreSQL от 1С |
Загрузка .dt в серверную базу
делается так же, как в файловую: Конфигуратор → Администрирование → Загрузить информационную базу. Отличие одно — перед стартом завершите все сеансы и фоновые задания в консоли кластера.
Восстановление бэкапа MS SQL Server
Делается в SQL Server Management Studio: правой кнопкой по Databases → Restore Database, источник — файл .bak. Если восстанавливаете поверх существующей базы, на странице параметров отметьте замену базы. Тот же результат даёт запрос:
RESTORE DATABASE [buh_copy]
FROM DISK = N'D:\Backup\buh_2026_10_06.bak'
WITH REPLACE,
MOVE N'buh' TO N'D:\SQLData\buh_copy.mdf',
MOVE N'buh_log' TO N'D:\SQLData\buh_copy_log.ldf',
STATS = 10;
Логические имена файлов (buh, buh_log в примере) у вас будут свои. Их показывает команда RESTORE FILELISTONLY FROM DISK = N'...'.
Восстановление в PostgreSQL
Для дампа в формате custom (pg_dump -Fc) используйте pg_restore в заранее созданную пустую базу:
createdb -U postgres -T template0 buh_copy
pg_restore -U postgres -d buh_copy -j 4 D:\Backup\buh.backup
Ключ -j 4 запускает восстановление в четыре потока и заметно ускоряет работу на больших базах. Дамп в виде текстового .sql загружают через psql -U postgres -d buh_copy -f buh.sql.
Подключение восстановленной базы к кластеру 1С
Восстановить базу в СУБД мало — 1С должна про неё узнать.
- Откройте консоль администрирования серверов 1С.
- В кластере создайте новую информационную базу.
- В поле базы данных укажите имя восстановленной базы СУБД (
buh_copy). - Флажок создания базы данных при её отсутствии можно оставить — база уже есть, новая не создастся.
- Для тестовой копии поставьте флажок
Блокировка регламентных заданий включена. Иначе копия начнёт запускать обмены и загрузки по расписанию. - Добавьте базу в список на клиенте:
Добавить → Добавление в список существующей информационной базы, вариант «На сервере 1С:Предприятия».
Если копия должна заменить рабочую базу, проще не регистрировать новую, а восстановить бэкап поверх базы СУБД, к которой уже подключена рабочая информационная база. Перед этим завершите все сеансы.
Если копия — папка с файлом 1Cv8.1CD
Файловая база — это папка, внутри которой главный файл 1Cv8.1CD. Многие делают копию простым копированием этой папки. Восстанавливать её ещё проще:
- Закройте все сеансы базы.
- Переименуйте текущую папку базы, например в
Buh_old. Не удаляйте её сразу. - Скопируйте папку из бэкапа на место рабочей, с тем же именем.
- Запустите 1С. Путь к базе не менялся, поэтому список баз править не нужно.
Если копию положили в другое место, добавьте её в окне запуска: Добавить → Добавление в список существующей информационной базы и укажите папку с 1Cv8.1CD.
Копия папки, снятая во время работы пользователей, может оказаться повреждённой: файл менялся прямо в момент копирования. Поэтому копировать 1Cv8.1CD безопасно только при закрытой базе.
Утилита chdbfl.exe для повреждённого файла
Если скопированная база не открывается или ругается на структуру, проверьте файл утилитой chdbfl.exe. Она лежит в папке bin установленной платформы, например C:\Program Files\1cv8\8.3.xx.xxxx\bin\chdbfl.exe.
- Убедитесь, что база закрыта у всех пользователей.
- Сделайте копию
1Cv8.1CD— утилита правит файл на месте. - Запустите
chdbfl.exe, укажите путь к файлу базы. - Отметьте флажок исправления обнаруженных ошибок и нажмите
Выполнить.
Утилита проверяет только физическую целостность файла .1CD. С файлами .dt и серверными базами она не работает
. Логические ошибки данных после неё ищут штатным тестированием в Конфигураторе.
Автоматическая загрузка копии из командной строки
Ручная загрузка неудобна, если тестовую базу нужно каждую ночь обновлять из свежей копии рабочей. Конфигуратор умеет загружать .dt из командной строки ключом /RestoreIB.
Файловая база:
@echo off
set V8="C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe"
%V8% DESIGNER /F"D:\Bases\Buh_test" /N"Администратор" /P"пароль" ^
/RestoreIB "D:\Backup\buh_latest.dt" ^
/Out"D:\Backup\restore_log.txt" /DisableStartupDialogs
Серверная база — вместо /F указывается сервер и имя базы в кластере:
%V8% DESIGNER /S"srv1c\buh_test" /N"Администратор" /P"пароль" ^
/RestoreIB "D:\Backup\buh_latest.dt" ^
/Out"D:\Backup\restore_log.txt" /DisableStartupDialogs
Подставьте реальный номер версии платформы в путь к 1cv8.exe. Результат пишется в файл из /Out — его стоит проверять после каждого запуска.
Запуск по расписанию
- Сохраните команду в файл, например
restore_test.bat. - Откройте Планировщик заданий Windows и создайте простую задачу.
- Укажите время, когда базой никто не пользуется, например 3:00.
- Действие — запуск программы, в качестве программы — ваш
.bat. - В свойствах задачи включите выполнение независимо от входа пользователя.
Пароль администратора 1С в открытом виде в .bat — слабое место. Заведите в тестовой базе отдельного пользователя только для загрузки и ограничьте доступ к папке со скриптом.
Перед загрузкой скрипт должен убедиться, что в базе нет сеансов. Для серверной базы сеансы смотрят командой rac session list (параметры кластера и базы — в справке rac help), а завершать их лучше заранее, установив блокировку начала сеансов в свойствах базы.
Проверка базы после восстановления из копии
Сообщение «загрузка завершена» не гарантирует, что данные те. Проверьте три вещи.
- Дата последних документов. Откройте журнал документов или список, например реализаций, и отсортируйте по дате. Последние документы должны соответствовать моменту создания копии.
- Контрольные цифры. Сформируйте оборотно-сальдовую ведомость за последний закрытый месяц и сравните остатки по 51 и 60/62 счетам с известными вам значениями. Для ЗУП — свод начислений за прошлый месяц.
- Техническая целостность. В Конфигураторе запустите
Администрирование → Тестирование и исправлениес проверкой логической и ссылочной целостности. Режим требует монопольного доступа и на большой базе идёт долго.
Как хранить копии, чтобы было что загрузить
Чаще всего копия не загружается не из-за ошибки при загрузке, а потому что её неправильно хранили.
Рабочая схема ротации для небольшой организации:
| Копия | Как часто | Сколько хранить |
|---|---|---|
| Ежедневная | Каждую ночь | 7-14 последних |
| Еженедельная | Раз в неделю | 4-5 последних |
| Ежемесячная | После закрытия месяца | 12 и больше |
| Перед обновлением | Перед каждым обновлением конфигурации | До следующего обновления |
Принцип «3-2-1» здесь работает как и везде: три копии, на двух разных носителях, одна — вне офиса (облако или другой сервер). Копия на том же диске, что и база, от поломки диска не спасёт.
Раз в месяц делайте пробную загрузку случайной копии в тестовую базу. Только так вы узнаете, что копии вообще читаются.
Ошибки при загрузке копии базы 1С
Частые вопросы
Можно ли загрузить копию только части данных, например одного документа?
.dt — нет, загружается база целиком. Отдельные данные переносят из копии, развёрнутой в соседнюю базу, обработкой выгрузки-загрузки XML или вручную.Загрузится ли копия Бухгалтерии в базу ЗУП?
.dt содержит и данные, и конфигурацию. Прежняя ЗУП будет полностью заменена.Подойдёт ли копия с другого компьютера?
.dt не привязан к компьютеру. Нужна платформа подходящей версии и лицензия на компьютере, где будете работать с базой.