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