Администрирование · 10 мин
Как восстановить 1С из резервной копии
Как восстановить базу 1С из резервной копии: файловой и клиент-серверной, через dt, SQL Server и PostgreSQL. Проверка результата, ошибки и FAQ.
Восстановление 1С из бэкапа — стандартная процедура, которая нужна после сбоя сервера, повреждения информационной базы, ошибочного удаления данных или при переносе базы на другой компьютер. Способ восстановления зависит от того, как именно делалась копия: выгрузка через конфигуратор в файл .dt, копирование каталога файловой базы или резервная копия средствами СУБД (MS SQL, PostgreSQL).
Прежде чем что-либо восстанавливать, определите два момента: какой тип базы у вас используется (файловая или клиент-серверная) и какого формата сам бэкап. От этого зависит весь порядок действий. Ошибка на этом этапе — самая частая причина того, что «бэкап есть, а восстановить не получается».
Важное правило: восстановление всегда выполняйте в копию, а не поверх рабочей базы. Если что-то пойдёт не так, у вас останется исходное состояние, и можно будет повторить попытку или привлечь специалиста.
Определите тип базы и формат резервной копии
Файловая база — это каталог на диске, в котором лежит файл 1Cv8.1CD и служебные файлы. Клиент-серверная база хранится в СУБД (MS SQL Server, PostgreSQL), а сервер 1С лишь обеспечивает к ней доступ. Узнать тип можно в списке информационных баз при запуске 1С: внизу окна указан путь — либо к каталогу, либо в формате «сервер/имя базы».
Форматов бэкапа три основных. Файл .dt — выгрузка информационной базы, сделанная через конфигуратор. Каталог с файлом 1Cv8.1CD — копия файловой базы целиком. Файлы .bak (MS SQL) или дампы pg_dump (PostgreSQL) — копии клиент-серверной базы средствами СУБД.
Как выбрать способ восстановления
Восстановление файловой базы из выгрузки .dt
Это самый универсальный сценарий: .dt-файл подходит и для восстановления после сбоя, и для переноса базы между компьютерами, и даже для преобразования файловой базы в клиент-серверную.
- 1Создайте пустую информационную базу: в окне запуска 1С нажмите «Добавить» → «Создание новой информационной базы» → «без конфигурации».
- 2Запустите созданную базу в режиме «Конфигуратор».
- 3Откройте меню «Администрирование» → «Загрузить информационную базу».
- 4Укажите путь к файлу .dt и подтвердите загрузку.
- 5Дождитесь окончания — для больших баз процесс может занять десятки минут.
- 6После загрузки конфигуратор предложит перезапуск — согласитесь.
На время загрузки никто не должен работать в базе-приёмнике. Если восстанавливаете поверх существующей базы (например, откатываете её к состоянию на дату бэкапа), все текущие данные будут полностью заменены содержимым выгрузки — отменить это нельзя.
После загрузки проверьте версию конфигурации: если .dt делался на более старом релизе платформы или конфигурации, база может потребовать обновления при первом запуске в режиме «Предприятие». Это нормально — запустите обновление под пользователем с полными правами и дождитесь его завершения.
Восстановление файловой базы из копии каталога
Если бэкап делался простым копированием папки базы (вручную или скриптом), восстановление ещё проще. Скопируйте каталог в нужное место на диске, затем в окне запуска 1С нажмите «Добавить» → «Добавление в список существующей информационной базы» и укажите путь к этому каталогу.
Критично, чтобы копия была сделана корректно: файл 1Cv8.1CD нельзя копировать, пока с базой работают пользователи — файл получится несогласованным, и база может не открыться или открыться с ошибками. Если бэкап делался «на живую», перед использованием проверьте базу утилитой chdbfl.exe (см. раздел о проверке).
Восстановление клиент-серверной базы
Восстановление из .dt
Для клиент-серверной базы .dt используется так же, как для файловой: создаётся пустая база (через консоль кластера серверов 1С с одновременным созданием базы в СУБД), затем в конфигураторе выполняется загрузка выгрузки. Учтите, что загрузка большого .dt в клиент-серверную базу — длительный процесс, и на время загрузки база должна быть в монопольном режиме.
Восстановление из бэкапа MS SQL Server
Это основной рабочий сценарий для клиент-серверных баз, поскольку штатные бэкапы SQL Server делаются быстрее и не требуют монопольного доступа. Откройте SQL Server Management Studio, подключитесь к серверу, нажмите правой кнопкой на узел «Базы данных» → «Восстановить базу данных». Выберите источник «Устройство», укажите .bak-файл, задайте имя новой базы.
Если восстанавливаете поверх существующей базы, на вкладке «Параметры» включите опцию перезаписи и снимите активные соединения (опция закрытия существующих подключений), иначе восстановление не начнётся. После завершения зарегистрируйте базу в консоли кластера 1С: создайте новую информационную базу, укажите сервер СУБД и имя восстановленной базы, снимите флаг создания новой базы данных.
Восстановление из дампа PostgreSQL
Для PostgreSQL создайте пустую базу данных и разверните в неё дамп командой pg_restore (для формата custom) или psql (для текстового дампа). Затем так же зарегистрируйте базу в кластере 1С, указав существующую базу данных без создания новой.
pg_restore -U postgres -d restored_base_name /backups/backup_file.dumpПроверка восстановленной базы
То, что база открылась, ещё не означает, что данные в порядке. Минимальная проверка: зайдите в режим «Предприятие», откройте несколько ключевых документов за последние даты, сформируйте оборотно-сальдовую ведомость или другой основной отчёт и сверьте итоги с ожидаемыми значениями (например, с распечаткой или данными из другой копии).
Для файловых баз полезно прогнать проверку физической целостности утилитой chdbfl.exe из каталога bin установленной платформы — она выявляет повреждения файла 1Cv8.1CD, которые не видны при обычной работе. Для любой базы доступно «Тестирование и исправление» в конфигураторе, но запускайте его сначала только в режиме проверки без исправления, чтобы оценить масштаб проблем.
Как проверить результат восстановления
База открывается без ошибок, обновление при необходимости завершается успешно
Ошибки формата потока, аварийное завершение, зависание обновления
Документы за последние даты на месте, открываются и проводятся
Пропали документы, пустые ссылки, ошибки при проведении
Обороты и сальдо совпадают с контрольными значениями
Расхождения в суммах, пустые отчёты
chdbfl не находит ошибок
Утилита сообщает о повреждениях таблиц
Типичные ошибки при восстановлении
Отдельно отметим несовместимость версий: выгрузка .dt «вниз» по версии платформы не поддерживается. Если бэкап сделан на платформе новее той, что установлена на целевом компьютере, сначала обновите платформу, и только потом восстанавливайте базу.
Часто задаваемые вопросы
Можно ли восстановить только часть данных, например один удалённый документ?
Штатных средств точечного восстановления в 1С нет. Практический подход: восстановите бэкап в отдельную копию базы, найдите нужный документ и перенесите его в рабочую базу вручную или через выгрузку/загрузку данных в формате XML (обработка «Выгрузка и загрузка данных XML» с диска ИТС). Для клиент-серверных баз на MS SQL возможен вариант с восстановлением копии базы на момент времени, если использовалась полная модель восстановления.
Чем отличается .dt от копии каталога файловой базы?
Файл .dt — логическая выгрузка: данные переупаковываются, при загрузке база фактически создаётся заново, что заодно устраняет фрагментацию. Копия каталога — побайтовый слепок, который восстанавливается мгновенно, но переносит и все повреждения исходного файла. Для аварийного восстановления надёжнее .dt, для быстрого отката — копия каталога.
База после восстановления требует обновление конфигурации — это нормально?
Да, если бэкап делался на другой версии конфигурации или платформы. Запустите базу в режиме «Предприятие» под пользователем с полными правами и дождитесь выполнения обработчиков обновления. Прерывать процесс нельзя — при больших объёмах данных он может идти долго.
Что делать, если .dt не загружается с ошибкой?
Проверьте свободное место на диске (нужно минимум в 2–3 раза больше размера выгрузки), версию платформы (она не должна быть старше той, на которой делалась выгрузка) и целостность самого файла — скопируйте его заново с источника, если есть такая возможность. Если ошибка повторяется, попробуйте загрузку на другом компьютере с актуальной платформой.
Как восстановить базу, если бэкапа вообще нет?
Для файловой базы попробуйте утилиту chdbfl.exe — она исправляет часть повреждений файла 1Cv8.1CD. Затем выполните «Тестирование и исправление» в конфигураторе. Для клиент-серверной базы проверьте наличие автоматических бэкапов СУБД и теневых копий диска. Если ничего нет, а база критична, обратитесь к специалистам по восстановлению данных — самостоятельные эксперименты снижают шансы на успех.
Нужно ли останавливать сервер 1С при восстановлении базы SQL?
Останавливать сам сервер 1С не обязательно, но нужно завершить все сеансы пользователей с восстанавливаемой базой и удалить или заблокировать её регистрацию в кластере, чтобы не осталось активных соединений с СУБД. Иначе SQL Server не сможет получить монопольный доступ к базе для восстановления.
Что важно запомнить
Способ восстановления определяется форматом бэкапа: .dt — через конфигуратор, копия каталога — добавлением базы в список, бэкап СУБД — средствами SQL Server или PostgreSQL с регистрацией в кластере. Всегда восстанавливайте в копию, проверяйте данные и целостность до запуска пользователей и храните исходный бэкап до полного подтверждения результата.