Восстановление информационной базы 1С 8.3 из резервной копии: файл .dt, SQL и PostgreSQL

· 10 мин

Содержание

Чтобы загрузить копию базы в 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С через Конфигуратор

Это основной способ. Он подходит для любой конфигурации: Бухгалтерии, ЗУП, УТ, УНФ и самописных.

Пошагово

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

После перезапуска запустите базу в режиме «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. Откройте консоль администрирования серверов 1С.
  2. В кластере создайте новую информационную базу.
  3. В поле базы данных укажите имя восстановленной базы СУБД (buh_copy).
  4. Флажок создания базы данных при её отсутствии можно оставить — база уже есть, новая не создастся.
  5. Для тестовой копии поставьте флажок Блокировка регламентных заданий включена. Иначе копия начнёт запускать обмены и загрузки по расписанию.
  6. Добавьте базу в список на клиенте: Добавить → Добавление в список существующей информационной базы, вариант «На сервере 1С:Предприятия».

Если копия должна заменить рабочую базу, проще не регистрировать новую, а восстановить бэкап поверх базы СУБД, к которой уже подключена рабочая информационная база. Перед этим завершите все сеансы.

Если копия — папка с файлом 1Cv8.1CD

Файловая база — это папка, внутри которой главный файл 1Cv8.1CD. Многие делают копию простым копированием этой папки. Восстанавливать её ещё проще:

  1. Закройте все сеансы базы.
  2. Переименуйте текущую папку базы, например в Buh_old. Не удаляйте её сразу.
  3. Скопируйте папку из бэкапа на место рабочей, с тем же именем.
  4. Запустите 1С. Путь к базе не менялся, поэтому список баз править не нужно.

Если копию положили в другое место, добавьте её в окне запуска: Добавить → Добавление в список существующей информационной базы и укажите папку с 1Cv8.1CD.

Копия папки, снятая во время работы пользователей, может оказаться повреждённой: файл менялся прямо в момент копирования. Поэтому копировать 1Cv8.1CD безопасно только при закрытой базе.

Утилита chdbfl.exe для повреждённого файла

Если скопированная база не открывается или ругается на структуру, проверьте файл утилитой chdbfl.exe. Она лежит в папке bin установленной платформы, например C:\Program Files\1cv8\8.3.xx.xxxx\bin\chdbfl.exe.

  1. Убедитесь, что база закрыта у всех пользователей.
  2. Сделайте копию 1Cv8.1CD — утилита правит файл на месте.
  3. Запустите chdbfl.exe, укажите путь к файлу базы.
  4. Отметьте флажок исправления обнаруженных ошибок и нажмите Выполнить.

Утилита проверяет только физическую целостность файла .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 — его стоит проверять после каждого запуска.

Запуск по расписанию

  1. Сохраните команду в файл, например restore_test.bat.
  2. Откройте Планировщик заданий Windows и создайте простую задачу.
  3. Укажите время, когда базой никто не пользуется, например 3:00.
  4. Действие — запуск программы, в качестве программы — ваш .bat.
  5. В свойствах задачи включите выполнение независимо от входа пользователя.

Пароль администратора 1С в открытом виде в .bat — слабое место. Заведите в тестовой базе отдельного пользователя только для загрузки и ограничьте доступ к папке со скриптом.

Перед загрузкой скрипт должен убедиться, что в базе нет сеансов. Для серверной базы сеансы смотрят командой rac session list (параметры кластера и базы — в справке rac help), а завершать их лучше заранее, установив блокировку начала сеансов в свойствах базы.

Проверка базы после восстановления из копии

Сообщение «загрузка завершена» не гарантирует, что данные те. Проверьте три вещи.

  1. Дата последних документов. Откройте журнал документов или список, например реализаций, и отсортируйте по дате. Последние документы должны соответствовать моменту создания копии.
  2. Контрольные цифры. Сформируйте оборотно-сальдовую ведомость за последний закрытый месяц и сравните остатки по 51 и 60/62 счетам с известными вам значениями. Для ЗУП — свод начислений за прошлый месяц.
  3. Техническая целостность. В Конфигураторе запустите Администрирование → Тестирование и исправление с проверкой логической и ссылочной целостности. Режим требует монопольного доступа и на большой базе идёт долго.
Проверка после загрузки копии
Выполнено: 0 / 6

Как хранить копии, чтобы было что загрузить

Чаще всего копия не загружается не из-за ошибки при загрузке, а потому что её неправильно хранили.

Рабочая схема ротации для небольшой организации:

КопияКак частоСколько хранить
ЕжедневнаяКаждую ночь7-14 последних
ЕженедельнаяРаз в неделю4-5 последних
ЕжемесячнаяПосле закрытия месяца12 и больше
Перед обновлениемПеред каждым обновлением конфигурацииДо следующего обновления

Принцип «3-2-1» здесь работает как и везде: три копии, на двух разных носителях, одна — вне офиса (облако или другой сервер). Копия на том же диске, что и база, от поломки диска не спасёт.

Раз в месяц делайте пробную загрузку случайной копии в тестовую базу. Только так вы узнаете, что копии вообще читаются.

Ошибки при загрузке копии базы 1С

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

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

Можно ли загрузить копию только части данных, например одного документа?
Через .dt — нет, загружается база целиком. Отдельные данные переносят из копии, развёрнутой в соседнюю базу, обработкой выгрузки-загрузки XML или вручную.
Загрузится ли копия Бухгалтерии в базу ЗУП?
Да, но база станет Бухгалтерией: .dt содержит и данные, и конфигурацию. Прежняя ЗУП будет полностью заменена.
Подойдёт ли копия с другого компьютера?
Да. Файл .dt не привязан к компьютеру. Нужна платформа подходящей версии и лицензия на компьютере, где будете работать с базой.
Сохранятся ли пользователи и пароли?
Да, список пользователей входит в выгрузку. Пароли будут те, что действовали на момент создания копии.
Можно ли загрузить .dt файловой базы в серверную?
Да. Формат выгрузки одинаковый, так файловые базы и переводят на сервер.