Базу 1С удалили: возвращаем данные из .1CD, .dt и бэкапа SQL

· 11 мин

Содержание

Удалённую базу 1С восстанавливают тем способом, в каком сделана резервная копия. Есть копия файла 1Cv8.1CD — кладёте её в пустую папку и добавляете базу в список запуска. Есть выгрузка .dt — создаёте пустую базу и загружаете файл через Конфигуратор → Администрирование → Загрузить информационную базу. Клиент-серверная база возвращается из бэкапа СУБД (MS SQL или PostgreSQL) с повторной регистрацией в кластере серверов 1С.

Сначала стоит проверить, удалена ли база вообще. Очень часто пропадает только строка в окне запуска, а сами данные лежат на диске нетронутыми. Тогда хватит двух минут, без всякого восстановления.

Что пропало и где лежит резервная копия базы 1С

Перед любыми действиями ответьте на два вопроса: какой тип базы и что именно удалено. От этого зависит весь дальнейший порядок.

📌 Тип базы виден в окне запуска 1С. Выделите базу (или похожую, если её уже нет) — внизу окна показан путь:

  • File="D:\Bases\Buh" — файловая база, данные в одном файле 1Cv8.1CD;
  • Srvr="srv1c";Ref="buh" — клиент-серверная, данные в СУБД на сервере.

Что могло пропасть, от лёгкого к тяжёлому:

  1. 🟢 Только строка в списке баз. Данные целы. Список хранится в файле %APPDATA%\1C\1CEStart\ibases.v8i, его можно случайно перезаписать или почистить.
  2. 🟡 Папка с файловой базой удалена в корзину или затёрта копированием.
  3. 🟠 База удалена из кластера серверов 1С. Если при удалении выбрали «Оставить базу данных без изменений», данные в СУБД остались.
  4. 🔴 Удалена база данных на SQL-сервере или очищена. Нужен бэкап СУБД.

Где искать копию:

ИсточникЧто внутриКак узнать
Резервное копирование из самой программыархив с файлом базыАдминистрирование → Обслуживание → Резервное копирование и восстановление, там указан каталог
Ручная выгрузка из Конфигураторафайл .dtпоиск по диску *.dt
План обслуживания MS SQLфайл .bakSQL Server Management Studio, история заданий агента
Скрипт pg_dump для PostgreSQLфайл дампапланировщик или cron на сервере
Теневые копии Windowsстарые версии папкисвойства папки → вкладка «Предыдущие версии»

Файл .cf — это только конфигурация, без документов и справочников. Данные из него не вернуть. Нужен .dt, .1CD или бэкап СУБД.

Если пропала только строка в списке, найдите на диске файл 1Cv8.1CD. По умолчанию новые файловые базы создаются в папке Документы\InfoBase, InfoBase1 и так далее. Нашли — переходите к разделу ниже, шаг 3.

Что у вас есть для восстановления?

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

Файловая база — это папка, где главный файл 1Cv8.1CD. Рядом лежат служебные каталоги, например 1Cv8Log с журналом регистрации. Восстановить базу — значит вернуть этот файл на место.

Порядок действий

  1. Создайте новую пустую папку, например D:\Bases\Buh_restore. Не кладите копию поверх остатков старой базы.
  2. Скопируйте туда 1Cv8.1CD из резервной копии. Если копия в архиве .zip, распакуйте: внутри должен быть этот же файл. Ориентир по размеру — сотни мегабайт или гигабайты; файл в несколько килобайт означает пустую базу.
  3. Запустите 1С, нажмите Добавить → Добавление в список существующей информационной базы.
  4. Укажите имя базы и путь к папке (не к файлу). Пройдите мастер до конца.
  5. Откройте базу в режиме «1С:Предприятие» и проверьте последние документы. По дате последнего документа видно, на какой момент сделана копия.

Проверка файла после восстановления

Если файл достали из корзины, программой восстановления или с повреждённого носителя, сначала проверьте его. В каталоге платформы C:\Program Files\1cv8\<версия>\bin\ есть утилита chdbfl.exe:

  1. Закройте все сеансы этой базы.
  2. Запустите chdbfl.exe, укажите путь к 1Cv8.1CD.
  3. Сначала прогоните проверку без исправления. Ошибки есть — сделайте копию файла и только потом включите флаг исправления.

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

Как вернуть базу 1С из файла выгрузки .dt

Выгрузка .dt содержит и конфигурацию, и все данные. Это самый переносимый формат: загрузить его можно и в файловую, и в серверную базу .

  1. В окне запуска нажмите Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной ранее информационной базы.
  2. Укажите тип расположения (на этом компьютере или на сервере 1С) и путь к пустой папке.
  3. Откройте новую пустую базу в режиме Конфигуратор.
  4. Выберите Администрирование → Загрузить информационную базу и укажите файл .dt.
  5. Подтвердите предупреждение: всё содержимое базы будет заменено данными из файла.
  6. Дождитесь сообщения об успешной загрузке. Для базы на 5–10 ГБ это может занять от десятков минут до нескольких часов.

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

Для загрузки нужен монопольный режим: в базе не должно быть других сеансов. В новой пустой базе это не проблема. В серверной базе другие сеансы смотрят в консоли кластера.

Платформа для загрузки должна иметь номер версии не ниже той, на которой сделана выгрузка. Выгрузку с 8.3.24 загружайте платформой 8.3.24 или новее.

Клиент-серверная база 1С: восстановление из бэкапа SQL

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

Если удалена только регистрация в кластере

Проверьте на SQL-сервере, на месте ли база данных. Если да, ничего восстанавливать не нужно:

  1. Откройте Администрирование серверов 1С Предприятия.
  2. В кластере на узле Информационные базы выберите Создать → Информационная база.
  3. Заполните имя базы, тип СУБД, сервер баз данных, имя существующей базы данных и учётную запись.
  4. Снимите флаг «Создать базу данных в случае ее отсутствия», чтобы при опечатке в имени не создать пустую базу .
  5. Если это копия рядом с рабочей базой, поставьте флаг «Установить блокировку регламентных заданий».

Восстановление из .bak в MS SQL Server

Сначала узнайте логические имена файлов внутри бэкапа, затем восстановите базу под новым именем:

RESTORE FILELISTONLY FROM DISK = N'D:\Backup\buh_full.bak';

RESTORE DATABASE buh_restore
FROM DISK = N'D:\Backup\buh_full.bak'
WITH MOVE N'buh'     TO N'D:\SQLData\buh_restore.mdf',
     MOVE N'buh_log' TO N'D:\SQLData\buh_restore_log.ldf',
     RECOVERY, STATS = 10;

Имена buh и buh_log подставьте из колонки LogicalName первого запроса. Если у вас полная модель восстановления и есть копии журнала транзакций, базу можно вернуть на конкретный момент: полный бэкап с NORECOVERY, затем журналы с параметром STOPAT.

Восстановление дампа PostgreSQL

Для дампа в формате custom (ключ -Fc у pg_dump):

createdb -U postgres -T template0 buh_restore
pg_restore -U postgres -d buh_restore /backup/buh.backup

Для текстового дампа .sql вместо pg_restore используют psql -U postgres -d buh_restore -f buh.sql. Используйте PostgreSQL той же сборки, что и для рабочих баз 1С.

После восстановления зарегистрируйте базу в кластере так, как описано выше.

СитуацияЧто делатьРиск
База в СУБД цела, нет регистрациизарегистрировать в консолиминимальный
Есть свежий .dtзагрузить в новую базупотеря данных после выгрузки
Есть .bak + журналывосстановить на момент перед удалениемдолгое восстановление
Есть только старый полный бэкапвосстановить и довнести данныеручная работа за пропущенный период

Журнал регистрации: кто удалил данные и как откатить изменения

Бывает, что пропала не база целиком, а документы, справочники или проводки внутри неё. Журнал регистрации покажет, кто, когда и что удалил. Откатывать он не умеет: это журнал, а не машина времени.

Где открыть:

  • в Бухгалтерии 3.0 и большинстве типовых: Администрирование → Обслуживание → Журнал регистрации;
  • в Конфигураторе: Администрирование → Журнал регистрации.

Как найти удаление:

  1. Нажмите Отбор и выберите события удаления данных и удаления помеченных объектов.
  2. Ограничьте интервал днём, когда заметили пропажу.
  3. В событии видно пользователя, компьютер и представление объекта, например «Поступление товаров и услуг 00БП-000123 от 12.03».

Дальше два сценария:

  • 🔹 Объект только помечен на удаление. Он в базе. Включите показ помеченных в списке, выделите объект и снимите пометку клавишей Del, затем проведите документ.
  • 🔹 Объект физически удалён обработкой удаления помеченных. Восстановите резервную копию как отдельную базу, найдите там объект и перенесите в рабочую. Для этого подходит универсальная обработка выгрузки и загрузки данных XML или ручной ввод по копии.

При переносе документа из копии проверьте, не создался ли он повторно. Задвоенные движения по регистрам потом ищутся долго.

Журнал файловой базы хранится в папке 1Cv8Log рядом с файлом базы. Если удалили всю папку, журнал пропал вместе с ней. У серверной базы журнал лежит на сервере 1С, в каталоге srvinfo\reg_1541\<идентификатор базы>\1Cv8Log.

Если резервной копии нет

Шансы есть, пока на диск ничего не записали поверх.

  1. Корзина. Удалённая через проводник папка с базой часто лежит там целиком.
  2. Предыдущие версии. Щёлкните правой кнопкой по родительской папке → Свойства → Предыдущие версии. Работает, если включены теневые копии или история файлов. На серверах их часто включают по расписанию.
  3. Облако и синхронизация. Яндекс Диск, OneDrive и подобные хранят удалённые файлы какое-то время в своей корзине.
  4. Программы восстановления файлов. Запускайте их с другого диска и восстанавливайте файл на другой носитель. После — обязательно проверка chdbfl.exe.
  5. Другие компьютеры. У бухгалтера могла остаться копия на флешке, у обслуживающей фирмы — выгрузка после последнего обновления.

Не устанавливайте программы восстановления на тот же диск, где была база. Каждая запись на диск может затереть нужные сектора.

Ошибки при восстановлении базы 1С и как их обойти

Диагностика: выберите симптом

После восстановления копии рядом с рабочей базой программа может при первом запуске спросить, перемещена база или это копия. Если это копия для поиска данных, укажите, что это копия. Иначе она начнёт обмены и регламентные задания от имени рабочей базы, например отправит данные в ЭДО или банк повторно.

Как больше не терять базу 1С

Удаление базы почти всегда случайность. Защищает от неё не осторожность, а расписание копий.

  • 🗓 Автоматическое копирование. Для файловой базы включите его в Администрирование → Обслуживание → Резервное копирование и восстановление: ежедневно, с хранением 10–14 последних копий.
  • 💾 Правило 3-2-1. Три копии, на двух разных носителях, одна вне офиса. Копия на том же диске, что и база, не спасёт при отказе диска.
  • 🗄 Для MS SQL — план обслуживания: полный бэкап раз в сутки, журнал транзакций каждые 1–2 часа при полной модели восстановления.
  • 🐘 Для PostgreSQL — pg_dump по расписанию с проверкой кода завершения и уведомлением при сбое.
  • 📦 Выгрузка .dt перед каждым обновлением конфигурации и платформы.
  • 🔒 Права. Обычным пользователям не нужны права на удаление папки базы и права администратора кластера.

Главное — проверять копии восстановлением. Раз в месяц разверните последнюю копию как отдельную базу и откройте её. Копия, которую ни разу не восстанавливали, не считается копией.

Ежемесячная проверка резервных копий
Выполнено: 0 / 5

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

Можно ли восстановить базу 1С, если удалили её только из списка баз?
Да. Данные не пострадали. Найдите папку с файлом 1Cv8.1CD или узнайте имя серверной базы и добавьте её в список как существующую.
Чем выгрузка .dt отличается от копии файла 1Cv8.1CD?
Копия .1CD подходит только для файлового варианта и открывается сразу. Выгрузку .dt можно загрузить и в файловую, и в серверную базу, но её загрузка требует времени и монопольного режима.
Можно ли перенести файловую базу на SQL через резервную копию?
Да, через .dt. Выгрузите файловую базу в .dt, создайте пустую базу на сервере 1С и загрузите туда файл.
Сколько хранить резервные копии 1С?
Ориентир — ежедневные копии за 2 недели и ежемесячные за год. Ошибку в учёте часто замечают только при сдаче квартальной отчётности.
Нужна ли лицензия для восстановленной базы?
Лицензия привязана к компьютеру или серверу, а не к базе. На том же компьютере восстановленная база работает с имеющейся лицензией.