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

· 10 мин

Содержание

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

Порядок одинаков для 1С:Предприятие 8.3 и 8.2: формат выгрузки .dt и меню загрузки в Конфигураторе у них совпадают. Отличаются только шаги для клиент-серверного варианта и для архивов, созданных не средствами 1С.

Что проверить до того, как разворачивать базу из архива

Первым делом поймите, что за архив у вас на руках. От этого зависит способ восстановления.

Что в архивеКак выглядитЧем разворачивать
Выгрузка информационной базыфайл *.dtКонфигуратор или командная строка 1cv8
Копия файловой базы1Cv8.1CD (часто внутри zip или 7z)распаковка + добавление в список баз
Бэкап MS SQL Serverфайл *.bakSQL Server Management Studio или T-SQL
Бэкап PostgreSQL*.backup, *.dump или *.sqlpg_restore или psql
Только конфигурацияфайл *.cfэто не база: данных в нём нет

Файл .cf содержит только конфигурацию без документов и справочников. Если в архиве лежит лишь .cf, восстановить из него учёт не получится — ищите .dt или копию 1Cv8.1CD.

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

  • 📦 Целостность архива. Откройте zip или 7z архиватором и запустите проверку. Ошибка CRC на этом этапе означает, что файл повреждён ещё до 1С.
  • 💾 Место на диске. Для .dt закладывайте в 3–5 раз больше его размера: выгрузка сжата, а база в развёрнутом виде занимает заметно больше. Ещё нужно место под временные файлы во %TEMP%.
  • 🔢 Версия платформы. Загружайте архив платформой с номером не ниже той, на которой его выгружали. Номер видно в окне «О программе» исходной базы или в журнале, если он сохранился.
  • 🧩 Разрядность. Большие .dt (от нескольких гигабайт) надёжнее загружать 64-разрядным Конфигуратором: 32-разрядный процесс упирается в лимит памяти.
  • 👤 Логин и пароль. Список пользователей приезжает вместе с .dt. Войти в восстановленную базу можно только под учётной записью из исходной базы.
  • 🔑 Лицензия. На новом компьютере или сервере нужна активированная лицензия, иначе платформа базу не запустит.

Какой способ восстановления выбрать

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

СпособКогда подходитОграничения и риски
Конфигуратор, загрузка .dtразовое восстановление файловой и серверной базыдолго на больших базах, нужен монопольный доступ
Распаковка 1Cv8.1CDархив файловой базы, сделанный копированиемкопия, снятая при работающих пользователях, может быть битой
1cv8 DESIGNER /RestoreIBрегулярное развёртывание по расписаниюошибки видны только в логе
Восстановление .bak или dump средствами СУБДсерверная база на MS SQL или PostgreSQLлегко перезаписать рабочую базу, если перепутать имя
Какой у вас архив?

Как развернуть базу 1С из архива .dt через Конфигуратор

Это основной и самый надёжный путь. Он работает одинаково для файловой и для серверной базы.

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

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

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

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

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

Шаг 3. Первый запуск восстановленной копии

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

Здесь важно ответить правильно:

  • если это тестовая копия рядом с рабочей базой — выберите вариант, что это копия. Программа отключит регламентные задания, синхронизацию данных и отправку писем. Иначе копия начнёт загружать банковские выписки, отправлять отчёты и обмениваться с другими базами наравне с рабочей;
  • если базу перенесли на новый сервер и старая больше не используется — выберите вариант, что база перемещена.

Развёртывание базы 1С из архива на SQL-сервере

Для клиент-серверной базы есть два пути. Первый — создать в кластере новую базу и загрузить в неё .dt тем же способом, что выше. Второй — восстановить бэкап СУБД. Второй путь на больших базах в разы быстрее, потому что СУБД не разбирает данные построчно.

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

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

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

Затем восстановите бэкап в новую базу под другим именем:

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

Вместо buh и buh_log подставьте логические имена из первого запроса. То же можно сделать мышкой в SQL Server Management Studio: правой кнопкой по Databases → Restore Database, на странице параметров задать новое имя базы и пути к файлам.

Если указать имя существующей рабочей базы, SQL Server перезапишет её содержимым архива. Перед запуском дважды проверьте строку RESTORE DATABASE.

Восстановление дампа PostgreSQL

Для дампа в custom-формате (pg_dump -Fc):

createdb -U postgres -T template0 buh_test
pg_restore -U postgres -d buh_test -j 4 D:\Backup\buh.backup

Ключ -j 4 запускает восстановление в 4 потока. Если дамп — обычный текстовый .sql, его загружают через psql -U postgres -d buh_test -f buh.sql.

Регистрация восстановленной базы в кластере 1С

  1. Откройте консоль администрирования серверов 1С:Предприятия.
  2. В кластере перейдите в Информационные базы, создайте новую.
  3. Укажите сервер СУБД, тип СУБД и имя базы данных — ровно то, под которым вы её восстановили (buh_test).
  4. Снимите флажок создания базы данных в случае её отсутствия: база уже есть.
  5. Включите Блокировка регламентных заданий включена, если это тестовая копия.
  6. Добавьте базу в список у пользователя: Добавить → Добавление в список существующей информационной базы, сервер и имя базы в кластере.

Ошибки при загрузке архива и как их обойти

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

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

Как убедиться, что данные восстановились полностью

Окно «Загрузка информационной базы успешно завершена» говорит только о том, что файл прочитан без ошибок. Проверьте и техническую целостность, и сам учёт.

Тестирование и исправление

  1. Убедитесь, что в базе никто не работает — проверке нужен монопольный доступ.
  2. В Конфигураторе откройте Администрирование → Тестирование и исправление.
  3. Для первого прогона отметьте Проверка логической целостности информационной базы и Проверка ссылочной целостности информационной базы.
  4. В режиме выберите Тестирование — без исправления. Так вы увидите проблемы, ничего не меняя.
  5. Если ошибки нашлись, повторите с режимом Тестирование и исправление на копии базы.

Для файловой базы есть отдельная утилита chdbfl.exe в папке bin установленной платформы. Она проверяет физическую структуру файла 1Cv8.1CD. Запускайте её при закрытой базе.

Проверка учёта

  • 📅 Откройте журнал документов и найдите последний документ. Его дата должна совпадать с датой, на которую делали архив.
  • 📊 Сформируйте оборотно-сальдовую ведомость за последний закрытый период и сравните с распечаткой или отчётностью из исходной базы.
  • 🧾 Сверьте количество элементов в ключевых справочниках: контрагенты, номенклатура, сотрудники.
  • 🔗 Откройте несколько старых документов — в них не должно быть битых ссылок вида <Объект не найден>.

Что сделать с базой после восстановления

Свежеразвёрнутая база обычно работает медленнее исходной в первые часы. Это нормально, но часть работ стоит сделать сразу.

Для файловой базы:

  • в Тестирование и исправление отметьте Реиндексация таблиц информационной базы и Сжатие таблиц информационной базы — файл станет меньше, запросы быстрее;
  • при подозрении на неверные остатки добавьте Пересчёт итогов. На крупной базе это долго, планируйте на нерабочее время.

Для базы на MS SQL:

  • обновите статистику: EXEC sp_updatestats; в контексте восстановленной базы;
  • для тестовой копии переведите модель восстановления в простую — журнал транзакций не будет разрастаться:
ALTER DATABASE [buh_test] SET RECOVERY SIMPLE;
  • для рабочей базы модель восстановления оставьте такой, какая была в исходной, иначе сломаются планы резервного копирования.

Для PostgreSQL: выполните VACUUM ANALYZE; в восстановленной базе, чтобы планировщик получил свежую статистику.

Если в базе настроены обмены (РИБ, синхронизация с УТ или ЗУП), проверьте на копии Администрирование → Синхронизация данных. Тестовая копия с включённым обменом может отправить изменения в рабочие базы.

Автоматическое развёртывание: командная строка и скрипты

Загрузку .dt можно запустить без открытия Конфигуратора. Это удобно для ночного обновления тестовой базы из свежей выгрузки.

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

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" CREATEINFOBASE File="D:\Bases\BuhTest"

Загрузить в неё выгрузку:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F"D:\Bases\BuhTest" /N"Администратор" /P"" /RestoreIB "D:\Backup\buh.dt" /Out "D:\Logs\restore.log" /DisableStartupDialogs

Для серверной базы вместо /F используют /S"srv1c\buh_test". Путь к платформе замените на свой: номер версии в нём у каждого свой.

Пример bat-файла для планировщика заданий Windows, который пересоздаёт тестовую копию каждую ночь:

@echo off
set V8="C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe"
set BASE=D:\Bases\BuhTest
set DT=D:\Backup\buh.dt
set LOG=D:\Logs\restore_%date:~-4%%date:~3,2%%date:~0,2%.log

%V8% DESIGNER /F"%BASE%" /N"Администратор" /P"" /RestoreIB "%DT%" /Out "%LOG%" /DisableStartupDialogs
if errorlevel 1 echo Загрузка завершилась с ошибкой, смотрите %LOG%

Загрузка .dt требует, чтобы в базе не было пользователей. Ставьте задание на ночь и предупредите коллег, что в это время тестовая копия недоступна: открытые сеансы помешают загрузке.

Пароль администратора в bat-файле хранится открытым текстом. Держите такие скрипты в папке с ограниченными правами и заведите для автоматизации отдельного пользователя только в тестовой базе.

Для серверных баз на MS SQL ночное обновление копии часто делают целиком на стороне СУБД: задание SQL Server Agent восстанавливает последний .bak рабочей базы в buh_test с параметром REPLACE. Регистрацию в кластере повторять не нужно — она уже указывает на это имя.

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

Можно ли загрузить .dt от 8.3 в платформу 8.2?
Нет. Выгрузку загружают платформой той же версии или с более высоким номером. Поставьте на компьютер платформу 8.3.
Сколько места нужно под развёрнутую базу?
Ориентируйтесь на размер в 3–5 раз больше файла .dt. Точнее зависит от того, сколько в базе картинок и присоединённых файлов: они сжимаются хуже, чем документы.
Можно ли развернуть файловую базу на сервере 1С?
Да. Создайте базу в кластере и загрузите в неё .dt, выгруженный из файловой базы. Обратный перенос, с сервера в файловую, делается так же.
Почему после восстановления не работают обмены и регламентные задания?
Скорее всего, при первом входе вы указали, что это копия базы. Программа отключила их специально. Для рабочей базы включите синхронизацию заново в настройках администрирования.
Нужно ли заново активировать лицензию после восстановления?
Лицензия привязана к компьютеру, а не к базе. На том же компьютере ничего делать не нужно. На новом компьютере или сервере лицензию активируют заново.