К статье
Практический материал

Администрирование · 11 мин

Как восстановить 1С из резервной копии

Как восстановить базу 1С из backup: выгрузка DT, SQL-бэкап, копия каталога. Пошаговые инструкции, проверка результата, типичные ошибки и ответы на вопросы.

Восстановление базы 1С из резервной копии — стандартная операция, которая требуется при повреждении базы, ошибочном удалении данных, переносе на новый сервер или откате после неудачного обновления. Порядок действий зависит от того, в каком формате сделан backup: файл выгрузки DT, копия каталога файловой базы или резервная копия средствами СУБД (MS SQL, PostgreSQL).

Главное правило перед началом: не восстанавливайте копию «поверх» рабочей базы без предварительного сохранения текущего состояния. Даже если база кажется безнадёжно испорченной, сделайте её копию — из неё иногда удаётся извлечь данные, которых нет в старом backup.

Ниже разобраны все три сценария восстановления, проверка результата и типичные ошибки, которые приводят к потере данных даже при наличии резервной копии.

Определите формат резервной копии

Прежде чем что-либо восстанавливать, выясните, что именно у вас есть. От этого зависит весь дальнейший порядок действий, и ошибка на этом этапе — самая частая причина «неработающего» восстановления.

Файл с расширением .dt — это выгрузка информационной базы, созданная через конфигуратор или план обслуживания. Файл 1Cv8.1CD вместе со служебными файлами — это копия каталога файловой базы. Файлы .bak, .dump, .sql — резервные копии, сделанные средствами MS SQL Server или PostgreSQL.

Файл .dtВыгрузка из конфигуратора

Восстанавливается через «Загрузить информационную базу»

1Cv8.1CDФайловая база целиком

Подключается добавлением каталога в список баз

Файл .bakБэкап MS SQL Server

Восстанавливается через SQL Server Management Studio

Файл .dump/.sqlБэкап PostgreSQL

Восстанавливается через pg_restore или psql

Если копия создавалась сторонним ПО (backup-агенты, скрипты), уточните у администратора, который её настраивал, что именно архивировалось. Нередко выясняется, что копировался только каталог с шаблонами, а сама база в резервную копию не попадала.

Восстановление из файла выгрузки DT

Выгрузка в DT — универсальный формат, не зависящий от СУБД и платформы. Он подходит и для файловых, и для клиент-серверных баз. Восстановление выполняется через конфигуратор под пользователем с полными правами.

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

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

Для очень больших баз (десятки гигабайт) выгрузка и загрузка DT может занимать много часов и требовать значительного объёма оперативной памяти. В клиент-серверном варианте для таких баз надёжнее использовать бэкапы средствами СУБД.

Восстановление файловой базы из копии каталога

Самый простой сценарий: если backup — это копия каталога файловой базы (с файлом 1Cv8.1CD), восстановление сводится к копированию и подключению. Никакие средства конфигуратора не нужны.

Скопируйте каталог с копией в нужное расположение, откройте окно запуска 1С, нажмите «Добавить» → «Добавление в список существующей информационной базы» и укажите путь к каталогу. База появится в списке и будет готова к работе.

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

Восстановление клиент-серверной базы из бэкапа СУБД

В клиент-серверном варианте данные хранятся в СУБД, и резервное копирование выполняется её штатными средствами. Восстановление состоит из двух этапов: развёртывание бэкапа в СУБД и регистрация базы в кластере серверов 1С.

MS SQL Server

В SQL Server Management Studio подключитесь к серверу, вызовите контекстное меню узла «Базы данных» → «Восстановить базу данных», выберите устройство с файлом .bak и укажите имя целевой базы. Если восстанавливаете в новую базу рядом с рабочей, обязательно измените имена физических файлов на вкладке «Файлы», иначе восстановление перезапишет файлы действующей базы.

PostgreSQL

Для PostgreSQL восстановление выполняется утилитами pg_restore (для копий в формате custom) или psql (для текстовых дампов). Сначала создайте пустую базу данных, затем разверните в неё дамп.

bash
createdb -U postgres mydb_restore
pg_restore -U postgres -d mydb_restore /backup/mydb.dump

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

Проверка восстановленной базы

Факт успешной загрузки копии ещё не означает, что база работоспособна. Проверка обязательна, особенно если копия создавалась во время работы пользователей или переносилась между разными версиями платформы.

Контрольные точки

Как проверить результат

Вход в базу
Норма

Пользователи входят, список пользователей полный

Тревожный признак

Ошибки аутентификации, пустой список пользователей

Целостность данных
Норма

Тестирование и исправление завершается без ошибок

Тревожный признак

Ошибки ссылочной целостности, битые ссылки

Ключевые отчёты
Норма

Оборотно-сальдовая ведомость и главные отчёты формируются и сходятся с ожидаемыми остатками

Тревожный признак

Отчёты пустые, падают с ошибкой или показывают неверные итоги

Регламентные задания
Норма

Задания присутствуют и выполняются по расписанию

Тревожный признак

Задания отсутствуют или завершаются с ошибкой

Для файловых баз дополнительно прогоните проверку физической целостности утилитой chdbfl.exe из каталога платформы — она выявляет повреждения структуры файла, которые тестирование из конфигуратора может не заметить.

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

Типичные ошибки при восстановлении

Типичные ошибки
01
Восстановление поверх рабочей базы без её предварительного сохранения — при ошибке в копии теряются обе версии
02
Загрузка DT в базу с другой конфигурацией — загрузка полностью заменяет конфигурацию, доработки теряются
03
Копирование файловой базы во время работы пользователей — копия получается несогласованной и не открывается
04
Восстановление SQL-бэкапа с именами файлов рабочей базы — перезаписываются файлы действующей базы
05
Забытая регистрация базы в кластере после восстановления СУБД — база есть в СУБД, но недоступна пользователям
06
Отсутствие проверки копии до момента, когда она понадобилась — в критический момент выясняется, что backup битый

Отдельная распространённая проблема — несовпадение версий. Бэкап СУБД, снятый с новой версии SQL Server, не восстановится на старой. Выгрузка DT с новой версии платформы не загрузится на старую. Перед восстановлением на другом сервере заранее выровняйте версии платформы и СУБД.

Что делать, если резервной копии нет или она повреждена

Маршрут решения

Как выбрать действие

Есть рабочая база, но данные частично испорченыСделайте выгрузку DT текущего состояния, затем восстановите старую копию рядом и перенесите недостающие данные обработкой
Файловая база не открывается, копии нетПроверьте файл утилитой chdbfl.exe и выполните тестирование и исправление в конфигураторе
Backup повреждён или не читаетсяПроверьте наличие более ранних копий, теневых копий Windows и реплик СУБД
Ничего не помогло, данные критичныОстановите все операции с диском и обратитесь к специалистам по восстановлению данных

Если backup оказался непригодным, не запускайте многократные попытки «починить» базу всеми инструментами подряд: каждое тестирование и исправление с включёнными режимами удаления объектов может необратимо изменить данные. Работайте только с копией файла, оригинал оставьте нетронутым.

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

Настройте после восстановления регулярное резервное копирование с хранением нескольких поколений копий: одна последняя копия не защищает от ситуации, когда повреждение данных произошло давно и успело попасть во все свежие бэкапы.

Итог

Что важно запомнить

Определите формат копии (DT, каталог файловой базы, бэкап СУБД) и используйте соответствующий способ восстановления. Перед восстановлением сохраните текущее состояние базы, после — проверьте целостность и ключевые отчёты. Регулярно тестируйте восстановление копий, чтобы backup не оказался пустышкой в критический момент.

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

Можно ли восстановить из backup только часть данных, а не всю базу?

Штатной загрузки «по частям» для файла DT нет — он заменяет базу целиком. Обходной путь: восстановите копию в отдельную пустую базу, а затем перенесите нужные документы или справочники в рабочую базу обработками выгрузки-загрузки данных. В SQL-бэкапе выборочное восстановление отдельных таблиц технически возможно, но требует глубокого понимания структуры хранения 1С и рискованно.

Загрузка DT зависла или завершилась ошибкой нехватки памяти. Что делать?

Загружайте копию на компьютере с достаточным объёмом оперативной памяти и свободным местом на диске (нужно в несколько раз больше размера файла DT). Для больших баз используйте 64-разрядную платформу и серверный вариант. Если база очень крупная, переходите на бэкапы средствами СУБД — они восстанавливаются значительно быстрее.

Можно ли восстановить базу на другой компьютер или сервер?

Да, все три формата копий переносимы. Файл DT и копия каталога переносятся без ограничений. Для SQL-бэкапа нужно, чтобы версия целевой СУБД была не ниже исходной, а на сервере 1С была установлена совместимая версия платформы.

Как часто нужно делать резервные копии 1С?

Ориентируйтесь на допустимый объём потери данных: если потеря одного рабочего дня критична — копируйте ежедневно, для активно используемых баз имеет смысл дополнительное копирование в течение дня или логирование транзакций в СУБД. Храните несколько поколений копий на разных носителях, хотя бы одну — вне основного сервера.

Чем отличается выгрузка DT от копирования каталога файловой базы?

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

После восстановления пользователи не могут войти в базу. В чём причина?

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