Администрирование · 14 мин
Как восстановить базу 1С из архивной копии
Подробная инструкция по восстановлению базы 1С из архивной копии: файловый и клиент-серверный режимы, проверка результата, типичные ошибки и ответы на вопросы.
Восстановление базы 1С из архивной копии — стандартная процедура, которая требуется при повреждении данных, ошибочном удалении документов, сбое оборудования или переносе базы на новый сервер. Способ восстановления зависит от двух факторов: в каком режиме работает база (файловый или клиент-серверный) и каким инструментом была создана копия — выгрузкой в dt, копированием файла 1Cv8.1CD или средствами СУБД.
Прежде чем приступать, важно понять одно правило: восстановление всегда выполняется в отдельный каталог или отдельную базу, а не «поверх» текущей рабочей. Только убедившись, что восстановленная база открывается и содержит нужные данные, можно принимать решение о замене рабочей копии. Это защищает от ситуации, когда архив оказывается битым или устаревшим, а рабочая база уже потеряна.
Ниже разобраны оба сценария — для файловых баз (типичны для небольших организаций) и для клиент-серверных на MS SQL Server или PostgreSQL, а также проверка результата и типичные ошибки, которые приводят к потере данных даже при наличии архива.
Определите тип базы и формат архивной копии
Первый шаг — выяснить, какая база у вас используется. Откройте список информационных баз в окне запуска 1С, выделите нужную базу и нажмите «Изменить»: в параметрах будет указан тип расположения — «На данном компьютере или в локальной сети» (файловый режим) либо «На сервере 1С:Предприятия» (клиент-серверный).
Далее определите, что именно лежит в архиве. Возможны три основных варианта копии:
- Файл выгрузки .dt — создаётся через конфигуратор («Администрирование → Выгрузить информационную базу»). Универсальный формат, подходит для переноса между платформами и СУБД.
- Файл 1Cv8.1CD — непосредственно файл файловой базы, скопированный средствами ОС или архиватором (часто внутри zip/rar-архива).
- Резервная копия СУБД — файл .bak для MS SQL Server или выгрузка pg_dump для PostgreSQL.
От формата копии зависит весь дальнейший сценарий. Ошибка на этом этапе — например, попытка «подсунуть» bak-файл SQL Server в каталог файловой базы — приведёт к тому, что база просто не откроется.
Подготовка перед восстановлением
До начала любых действий завершите работу всех пользователей в базе. В файловом режиме открытые сеансы блокируют замену файла и загрузку dt; в клиент-серверном — мешают операциям на уровне СУБД. В консоли кластера серверов 1С активные сеансы можно завершить принудительно, но лучше заранее предупредить сотрудников.
Сделайте копию текущего состояния базы, даже если она повреждена. Это страховка на случай, если архив окажется старее, чем ожидалось, или восстановление пройдёт некорректно — тогда останется возможность вернуться к исходной точке или извлечь данные из повреждённой базы другими средствами.
Подготовьте чистый каталог (для файловой базы) или отдельную базу данных на сервере СУБД (для клиент-серверной). Убедитесь, что на диске достаточно свободного места: для распаковки и загрузки dt может потребоваться объём, в 2–3 раза превышающий размер самого файла выгрузки.
Восстановление файловой базы из выгрузки .dt
Это самый распространённый сценарий для небольших организаций, где архивирование настроено через выгрузку в dt. Порядок действий следующий:
- Создайте пустой каталог на диске, например
D:\Bases\Restore. - Откройте окно запуска 1С, нажмите «Добавить» → «Создание новой информационной базы» → выберите «Создание информационной базы без конфигурации» и укажите созданный каталог.
- Зайдите в новую базу в режиме «Конфигуратор».
- Откройте меню «Администрирование → Загрузить информационную базу» и укажите путь к файлу .dt.
- Дождитесь окончания загрузки. На вопрос о перезапуске конфигуратора ответьте утвердительно.
Время загрузки зависит от размера выгрузки и скорости диска: небольшая база восстанавливается за несколько минут, крупная может загружаться час и более. Прерывать процесс нельзя — это оставит базу в неработоспособном состоянии, и процедуру придётся начинать заново.
- 1Завершить все сеансы пользователей в базе
- 2Создать пустую базу в новом каталоге
- 3Открыть её в конфигураторе
- 4Выполнить «Администрирование → Загрузить информационную базу» и указать файл .dt
- 5Дождаться завершения и перезапустить конфигуратор
- 6Открыть базу в режиме «Предприятие» и проверить данные
Восстановление файловой базы из копии 1Cv8.1CD
Если архивирование выполнялось простым копированием каталога базы (вручную, скриптом или через планировщик заданий), восстановление ещё проще. Распакуйте архив в отдельный каталог и убедитесь, что в нём присутствует файл 1Cv8.1CD — это и есть тело базы.
Добавьте базу в список информационных баз: в окне запуска 1С нажмите «Добавить» → «Добавление в список существующей информационной базы» и укажите каталог с восстановленным файлом. После этого базу можно открыть в режиме «Предприятие» или «Конфигуратор».
Важный нюанс: копирование 1Cv8.1CD корректно только в том случае, если на момент копирования в базе не работали пользователи. Копия, снятая «на живую» с открытых сеансов, может оказаться рассогласованной. Если после восстановления база не открывается или выдаёт ошибки формата потока, имеет смысл запустить утилиту chdbfl.exe из каталога bin платформы и выполнить проверку физической целостности файла с включённым исправлением ошибок.
Восстановление клиент-серверной базы
В клиент-серверном режиме данные хранятся в СУБД, поэтому восстановление выполняется её штатными средствами, а регистрация базы в кластере 1С производится отдельно. Рассмотрим два основных варианта.
MS SQL Server
Откройте SQL Server Management Studio, подключитесь к серверу и выполните восстановление резервной копии в новую базу данных: правый клик по узлу «Базы данных» → «Восстановить базу данных» → источник «Устройство» → укажите bak-файл. В параметрах восстановления задайте имя новой базы, отличное от рабочей, и проверьте пути размещения файлов данных и журнала.
Альтернатива — команда T-SQL. Пример восстановления в новую базу:
RESTORE DATABASE [Trade_Restore] FROM DISK = N'D:\Backups\trade_backup.bak' WITH MOVE 'trade_Data' TO 'D:\SQLData\Trade_Restore.mdf', MOVE 'trade_Log' TO 'D:\SQLData\Trade_Restore.ldf', REPLACE;PostgreSQL
Для PostgreSQL восстановление выполняется командой pg_restore (для копий формата custom) или psql (для текстовых выгрузок). Сначала создайте пустую базу данных, затем загрузите в неё копию:
createdb -U postgres trade_restore
pg_restore -U postgres -d trade_restore /backups/trade_backup.dumpПосле восстановления на уровне СУБД зарегистрируйте базу в консоли кластера серверов 1С: создайте новую информационную базу, укажите тип СУБД, имя сервера баз данных и имя восстановленной базы. Параметр «Создать базу данных в случае её отсутствия» включать не нужно — база уже существует.
Проверка восстановленной базы
Восстановление нельзя считать завершённым, пока база не проверена. Минимальный набор проверок:
- база открывается в режиме «Предприятие» без ошибок и сообщений о необходимости обновления;
- актуальность данных: сверьте даты последних документов, остатки по ключевым счетам или складам с ожидаемым состоянием на дату создания архива;
- список пользователей и их права соответствуют ожиданиям (при загрузке dt восстанавливаются и пользователи с их паролями на момент выгрузки);
- регламентные операции — проведение документа, формирование отчёта — выполняются без ошибок.
Для глубокой проверки в конфигураторе выполните «Администрирование → Тестирование и исправление» с включёнными проверками логической и ссылочной целостности. На больших базах процедура занимает продолжительное время, поэтому запускайте её вне рабочих часов.
Как проверить результат
База открывается без ошибок, интерфейс загружается
Ошибки формата потока, требование обновления, аварийное закрытие
Соответствуют дате создания архивной копии
Данные заметно старше ожидаемых — восстановлен не тот архив
Остатки сходятся с контрольными значениями
Расхождения, пустые регистры, ошибки при формировании отчётов
Документ проводится и отменяется без ошибок
Ошибки записи в регистры, блокировки, падение сеанса
Типичные ошибки и как их избежать
Большинство проблем при восстановлении связано не с самой процедурой, а с нарушением подготовительных правил. Разберём самые частые.
Отдельно стоит упомянуть версии платформы. База, выгруженная на более новой версии платформы, может не загрузиться или потребовать конвертации на старой. Перед восстановлением убедитесь, что установленная версия платформы 1С не ниже той, на которой создавался архив.
Полезная привычка — периодически выполнять контрольное восстановление архива на тестовой машине, даже когда ничего не сломалось. Это единственный способ убедиться, что копии действительно рабочие: архив, который никто никогда не восстанавливал, нельзя считать надёжным. Заодно такая репетиция показывает, сколько времени займёт реальное восстановление.
Что делать, если архив не восстанавливается
Если dt-файл не загружается с ошибкой, а копия 1Cv8.1CD не открывается, действуйте по нарастающей сложности. Сначала проверьте целостность самого архивного файла: распакуйте zip/rar заново, сравните размер с исходным, попробуйте скопировать файл на другой диск — иногда проблема в ошибках чтения носителя.
Для файловой базы запустите chdbfl.exe с исправлением ошибок, затем тестирование и исправление в конфигураторе. Для клиент-серверной — проверьте копию средствами СУБД (например, RESTORE VERIFYONLY в MS SQL) и попробуйте восстановить более раннюю копию, если ведётся цепочка архивов.
Как выбрать действие
Если ни один архив не восстанавливается, а данные критичны, дальнейшие самостоятельные эксперименты рискованны: каждая попытка исправления может усугубить повреждения. В этой точке разумно зафиксировать текущее состояние файлов (снять посекторные копии) и привлечь специалистов по восстановлению данных.
Что важно запомнить
Восстановление всегда выполняется в новый каталог или новую базу с последующей проверкой, а не поверх рабочих данных. Способ зависит от формата копии: dt загружается через конфигуратор, 1Cv8.1CD подключается как существующая база, копии СУБД восстанавливаются средствами сервера баз данных. Успех определяется не фактом загрузки, а проверкой актуальности и целостности данных.
Частые вопросы
Можно ли восстановить только часть данных, например один удалённый документ?
Штатными средствами платформы частичное восстановление из dt или копии 1Cv8.1CD не поддерживается — загружается база целиком. Практический обходной путь: восстановить архив в отдельную базу, найти нужный документ и перенести его в рабочую базу вручную или через обработку выгрузки-загрузки данных в формате XML.
Сколько времени занимает восстановление базы?
Зависит от размера базы, скорости дисковой подсистемы и способа восстановления. Небольшая файловая база загружается из dt за минуты, крупная клиент-серверная может восстанавливаться часами. Загрузка dt, как правило, медленнее, чем восстановление средствами СУБД на том же объёме данных.
Загрузится ли архив, созданный на старой версии платформы 1С?
Как правило, да: новые версии платформы загружают выгрузки, созданные на более старых версиях, при необходимости выполняя конвертацию. Обратная ситуация — загрузка архива с новой платформы на старую — обычно невозможна. Поэтому перед восстановлением ставьте версию платформы не ниже той, на которой делалась копия.
Что делать, если после загрузки dt не подходит пароль администратора?
При загрузке dt восстанавливаются пользователи и пароли на момент выгрузки, поэтому текущий пароль может не подойти. Попробуйте старые пароли, действовавшие на дату архива. Если войти не удаётся, для файловой базы существуют штатные методы сброса списка пользователей через работу с файлом базы, но это требует аккуратности и опыта.
Нужно ли делать тестирование и исправление после каждого восстановления?
Обязательным это не является, если база открылась и данные на месте. Но проверка логической и ссылочной целостности настоятельно рекомендуется в двух случаях: когда восстановление выполнялось после сбоя или повреждения исходной базы и когда применялась утилита chdbfl.exe. В плановых сценариях (перенос на новый сервер) достаточно визуальной проверки данных.
Как часто нужно делать архивные копии, чтобы восстановление не было болезненным?
Ориентируйтесь на допустимый объём потери данных: если потеря одного рабочего дня ввода критична, копии нужны ежедневно, для активных баз — чаще. Оптимальна схема с ежедневным архивированием, хранением копий на отдельном носителе или в другом помещении и периодическим контрольным восстановлением, подтверждающим работоспособность архивов.