В 14:00 база перестала открываться. Последнюю проверенную копию сделали в 02:00. Если взять только её, компания потеряет до 12 часов работы: 14:00 − 02:00 = 12 часов.
Сначала сохраните аварийную базу. Файловую скопируйте вместе с каталогом и файлом 1Cv8.1CD, клиент-серверную — средствами СУБД. Копию разворачивайте отдельно, а пользователей подключайте после проверки данных.
Сохраните аварийную базу отдельно. Не загружайте копию поверх неё и не запускайте исправление исходных данных.
Выберите копию и подготовьте отдельную базу
Сам по себе файл ещё ничего не гарантирует. Размер, дата создания и успешная запись в журнале подтверждают одно: файл существует. Состояние данных покажет лишь восстановление.
Подготовьте копии за несколько дат. Начните с самой свежей: разверните её в отдельном контуре и попробуйте войти. Не открылась — переходите к предыдущей.
Компания «Доктор Сервер» использует такой же критерий в статье «Как проверить, что бэкап 1С вас спасёт». Авторы проверяют копию восстановлением на отдельном компьютере и советуют хранить несколько версий за разные даты.
| Что проверить | Зачем | Что делать при несоответствии |
|---|---|---|
| Тип базы: файловая, SQL Server или PostgreSQL | Для каждого типа нужен свой инструмент восстановления | Откройте свойства подключения 1С и определите, где хранятся данные |
Формат копии: 1Cv8.1CD, архив, .dt, .bak или PostgreSQL custom | Расширение и содержимое задают порядок восстановления | Не переименовывайте файл; выясните, какой программой его создали |
| Версия платформы 1С | Копия от новой платформы может не загрузиться на старой | Установите ту же версию либо более новый совместимый релиз |
| Свободное место | Нужны место под копию, восстановленную базу и временные файлы | Освободите отдельный диск или подготовьте другой сервер |
| Права учётной записи | Без записи в каталог или прав СУБД операция остановится | Проверьте права до запуска |
| Отдельное имя и расположение | Ошибка не должна затронуть аварийную базу | Создайте новый каталог либо новую базу СУБД |
Вывод: до восстановления определите версию платформы, формат файла и место назначения. Затем подготовьте отдельный контур.
Инструкция «Восстановление 1С из резервной копии» предупреждает о несовместимости версий. Копия от платформы 8.3.20 может не открыться на 8.3.15.
Там же советуют оставить на целевом диске 150% от размера копии. Это не требование 1С, а запас на восстановленную базу и временные файлы. Для копии объёмом 100 ГБ подготовьте около 150 ГБ свободного места.
Файловую базу восстановите в новый каталог
У файловой базы встречаются два основных вида копий. Это каталог или архив с 1Cv8.1CD и логическая выгрузка .dt, которую загружают через Конфигуратор.
Архив распакуйте в новый каталог. Дайте пользователю право записи, добавьте существующую базу в список 1С и откройте её. Обмены и регламентные задания пока оставьте отключёнными.
Для .dt создайте пустую информационную базу. Откройте её в Конфигураторе, затем выберите «Администрирование → Загрузить информационную базу». Такой порядок приводит материал МГУТУ о формате DT. После загрузки платформа может запросить перезапуск.
| Формат | Куда разворачивать | Чем открывать | Признак проблемы |
|---|---|---|---|
Каталог с 1Cv8.1CD | В новый каталог с правом записи | Клиентом 1С через добавление существующей базы | Ошибка доступа или повреждения файла |
.zip или .rar с 1Cv8.1CD | Сначала распаковать в новый каталог | Архиватором, затем клиентом 1С | Архив не распаковывается либо внутри нет файла базы |
.dt | В пустую информационную базу | Конфигуратором 1С | Ошибка формата потока, версии или загрузки |
| Копия от новой платформы | В контур с той же либо новой совместимой платформой | Соответствующим релизом 1С | Сообщение о несовместимой версии |
| Заблокированный каталог | В отдельный каталог вне рабочей базы | После проверки процессов 1С | Файлы удерживает процесс, включая ragent.exe |
Повреждённый 1Cv8.1CD | Только в копию аварийного каталога | Штатными средствами диагностики | 1С прямо сообщает о повреждении файла |
Вывод: архив с 1Cv8.1CD разворачивайте как файловую базу, а .dt загружайте в пустую. Подмена расширения формат не изменит.
Если 1С сообщает о повреждении 1Cv8.1CD, остановитесь. Исходный файл не исправляйте. Сделайте ещё одну копию каталога и переходите к диагностике копии аварийного 1Cv8.1CD.
«Тестирование и исправление» меняет содержимое базы. Запускайте операцию лишь на отдельной копии, сохранив исходное состояние. Порядок действий и назначение флажков есть в материале о проверке базы средствами 1С.
Базу 1С на SQL Server восстановите под новым именем
Откройте SQL Server Management Studio. В Object Explorer щёлкните правой кнопкой по узлу Databases и выберите Restore Database.
Укажите файл .bak, затем задайте базе новое имя. На странице Files назначьте другие пути для файлов данных и журнала. Инструкция Microsoft по восстановлению через SSMS описывает оба шага. Она же указывает: WITH REPLACE перезаписывает существующую базу.
Не включайте WITH REPLACE для рабочей базы. Команда уничтожит её текущее состояние, включая сведения, записанные после создания копии.
Перед запуском проверьте шифрование. По документации Microsoft для зашифрованной базы нужен сертификат или асимметричный ключ, который использовали при шифровании. Без него копия не откроется.
Если база работает в полной модели восстановления, сохраните заключительный фрагмент журнала транзакций. Этот шаг имеет смысл, пока SQL Server ещё читает журнал. Microsoft указывает его перед восстановлением по полной модели или модели с неполным протоколированием.
Если есть полная, дифференциальная копия и журналы
Цепочку восстанавливайте по порядку. Сначала загрузите полную копию, затем последнюю подходящую дифференциальную. После неё — журналы транзакций.
На промежуточных шагах выбирайте NORECOVERY. База останется недоступной пользователям, зато примет следующую копию или журнал.
На последнем шаге выберите RECOVERY. SQL Server откатит незавершённые транзакции и откроет базу. Добавить ещё один журнал в эту цепочку уже не получится. Такое ограничение задаёт документация Microsoft по RESTORE.
| Этап | Режим | Состояние базы после операции |
|---|---|---|
| Полная копия перед продолжением цепочки | NORECOVERY | База недоступна, можно загрузить дифференциальную копию |
| Дифференциальная копия | NORECOVERY | База недоступна, можно загружать журналы |
| Промежуточный журнал транзакций | NORECOVERY | База ждёт следующий журнал |
| Последний журнал | RECOVERY | База открывается для проверки |
| Одна полная копия без продолжения | RECOVERY | База готова к проверке |
Вывод: NORECOVERY сохраняет цепочку открытой, а RECOVERY завершает восстановление. Не применяйте RECOVERY, пока не загрузили последний нужный журнал.
После аварии настройте цепочку копий SQL Server с контролем выполнения. Один случайный .bak не вернёт изменения, записанные после его создания.
PostgreSQL восстановите в новую базу
Сначала сохраните аварийную базу или том PostgreSQL. Затем создайте новую базу с другим именем и шаблоном template0.
В pgAdmin выберите новую базу и вызовите Restore через контекстное меню. Такой порядок приводит инструкция InfoStart по восстановлению 1С на PostgreSQL для копии, созданной командой pg_dump --format=custom.
Параметр --format=custom создаёт архив в собственном формате PostgreSQL. Для его восстановления используют pg_restore или команду Restore в pgAdmin. Копировать архив в каталог данных сервера нельзя.
| Этап | Что проверить | Что делать при ошибке |
|---|---|---|
| Подключение к PostgreSQL | pgAdmin видит сервер, учётная запись создаёт базы | Проверьте адрес, порт и права роли |
| Формат копии | Архив создан pg_dump в формате custom | Уточните команду создания; не загружайте неизвестный файл |
| Создание базы | Новая база создана из template0 | Удалите только тестовую базу и создайте её заново |
| Restore | Операция закончилась без ошибок объектов и прав | Сохраните журнал и устраните первую ошибку по порядку |
| Регистрация в 1С | Новая база добавлена в кластер под отдельным именем | Проверьте сервер СУБД, имя базы и учётные данные |
| Первый вход | Открывается нужная конфигурация и видны данные | Не подключайте пользователей; проверьте журнал восстановления |
Вывод: завершённая команда Restore ещё не доказывает, что база работает в 1С. Зарегистрируйте базу в кластере, войдите через клиент и проверьте данные.
Одного pg_dump мало, когда нужно вернуть операции после полной копии. Для возврата к моменту перед ошибочным удалением используйте PITR с отдельной копией тома и воспроизведением WAL.
Проверьте данные до переключения пользователей
Войдите под обычной учётной записью, не ограничивайтесь администратором. Откройте справочники, документы и отчёты, с которыми сотрудники работали перед сбоем.
Теперь найдите последнюю подтверждённую операцию. Это может быть проведённый документ, загруженная банковская выписка или запись обмена. Нужна операция, точное время которой помнит сотрудник либо хранит другая система.
Окно потери считайте по формуле:
время последней подтверждённой операции − время выбранной копии.
Допустим, копию сделали в 02:00, а последний подтверждённый документ провели в 13:40. Верхняя граница потери — 11 часов 40 минут: 13:40 − 02:00 = 11:40. Для своей базы подставьте время копии и последней найденной операции.
Проверьте обмены и регламентные задания, но не запускайте их без изоляции. Для связки ЗУП и Бухгалтерии материал МГУТУ рекомендует изолировать копии обеих сторон. Иначе тестовый обмен отправит старые данные в рабочую систему.
Свежая копия не открылась или содержит ошибки — берите предыдущую. После каждой замены пересчитывайте окно потери. Тогда руководство услышит не расплывчатое «часть данных пропала», а временную границу для ручного ввода документов.
Пользователей подключайте после приёмки. Сохраните аварийную базу, остановите фоновые задания в тестовом экземпляре и присвойте восстановленной базе рабочее имя. Первое подключение проверьте с одного рабочего места.
Если восстановление не завершилось
Остановитесь, если подряд не открылись несколько копий. Так же поступите при разорванной цепочке журналов SQL Server или ошибках структуры PostgreSQL. Повторные операции над теми же файлами могут сократить число доступных вариантов восстановления.
Сохраните копии, журналы СУБД, технологический журнал 1С и точный текст первой ошибки. Затем передайте материалы специалисту по разбору аварийной базы 1С и её СУБД. Объём данных, который удастся вернуть, станет понятен после диагностики.
Другие сценарии отказа собраны в навигаторе по сбоям базы и сервера. По признакам можно отделить повреждение файлов от ошибки обновления, блокировки или сбоя СУБД.
Чтобы не повторилось
Копию можно считать рабочей после успешного тестового восстановления. Проверяйте её хотя бы раз в квартал. Повторяйте тест после обновления платформы и переезда сервера — такой график предлагает инструкция «Как проверить, что бэкап 1С вас спасёт».
При следующей аварии держитесь одного порядка:
- Сохраните текущее состояние аварийной базы.
- Выберите самую свежую копию из нескольких дат.
- Разверните её рядом, не поверх рабочей базы.
- Проверьте вход, документы, задания и обмены.
- Посчитайте окно потери и согласуйте его с владельцем данных.
- Допустите пользователей только после приёмки.
Частоту постоянных копий привяжите к допустимой потере данных. Храните их раздельно и назначьте ответственного за проверку. Настройку файловых и серверных копий сверяйте со схемой резервирования и ротации базы.
Какую резервную копию 1С брать для восстановления?
Начните с самой свежей, но держите рядом копии за предыдущие даты. Рабочей считайте ту, которая развернулась отдельно и прошла проверку данных.
Можно ли восстановить копию поверх рабочей базы?
Нет. Сохраните аварийное состояние и разверните копию под другим именем либо в новом каталоге. Перезапись лишит вас возможности вернуться к данным на момент сбоя.
Как загрузить файл DT в 1С 8.3?
Создайте пустую информационную базу, откройте её в Конфигураторе и выберите «Администрирование → Загрузить информационную базу». После загрузки платформа может запросить перезапуск.
Как восстановить базу 1С из BAK?
В SSMS выберите Databases → Restore Database, укажите файл и задайте новое имя базы. На странице Files назначьте новые пути и не включайте перезапись рабочей базы.
Как восстановить копию 1С на PostgreSQL?
Создайте отдельную базу из template0, восстановите архив через pgAdmin или pg_restore, затем зарегистрируйте базу в кластере 1С. До проверки не подключайте пользователей и обмены.
Сколько данных потеряется после восстановления?
Вычтите время копии из времени последней подтверждённой операции. Если копия сделана в 02:00, а документ подтверждён в 13:40, верхняя граница потери равна 11 часам 40 минут.