Базу 1С удалили: возвращаем данные из .1CD, .dt и бэкапа SQL
Содержание
Удалённую базу 1С восстанавливают тем способом, в каком сделана резервная копия. Есть копия файла 1Cv8.1CD — кладёте её в пустую папку и добавляете базу в список запуска. Есть выгрузка .dt — создаёте пустую базу и загружаете файл через Конфигуратор → Администрирование → Загрузить информационную базу. Клиент-серверная база
возвращается из бэкапа СУБД (MS SQL или PostgreSQL) с повторной регистрацией в кластере серверов 1С.
Сначала стоит проверить, удалена ли база вообще. Очень часто пропадает только строка в окне запуска, а сами данные лежат на диске нетронутыми. Тогда хватит двух минут, без всякого восстановления.
Что пропало и где лежит резервная копия базы 1С
Перед любыми действиями ответьте на два вопроса: какой тип базы и что именно удалено. От этого зависит весь дальнейший порядок.
📌 Тип базы виден в окне запуска 1С. Выделите базу (или похожую, если её уже нет) — внизу окна показан путь:
File="D:\Bases\Buh"— файловая база, данные в одном файле1Cv8.1CD;Srvr="srv1c";Ref="buh"— клиент-серверная, данные в СУБД на сервере.
Что могло пропасть, от лёгкого к тяжёлому:
- 🟢 Только строка в списке баз. Данные целы. Список хранится в файле
%APPDATA%\1C\1CEStart\ibases.v8i, его можно случайно перезаписать или почистить. - 🟡 Папка с файловой базой удалена в корзину или затёрта копированием.
- 🟠 База удалена из кластера серверов 1С. Если при удалении выбрали «Оставить базу данных без изменений», данные в СУБД остались.
- 🔴 Удалена база данных на SQL-сервере или очищена. Нужен бэкап СУБД.
Где искать копию:
| Источник | Что внутри | Как узнать |
|---|---|---|
| Резервное копирование из самой программы | архив с файлом базы | Администрирование → Обслуживание → Резервное копирование и восстановление, там указан каталог |
| Ручная выгрузка из Конфигуратора | файл .dt | поиск по диску *.dt |
| План обслуживания MS SQL | файл .bak | SQL Server Management Studio, история заданий агента |
Скрипт pg_dump для PostgreSQL | файл дампа | планировщик или cron на сервере |
| Теневые копии Windows | старые версии папки | свойства папки → вкладка «Предыдущие версии» |
Файл .cf — это только конфигурация, без документов и справочников. Данные из него не вернуть. Нужен .dt, .1CD или бэкап СУБД.
Если пропала только строка в списке, найдите на диске файл 1Cv8.1CD. По умолчанию новые файловые базы создаются в папке Документы\InfoBase, InfoBase1 и так далее. Нашли — переходите к разделу ниже, шаг 3.
Восстановление файловой базы 1С из копии файла
Файловая база — это папка, где главный файл 1Cv8.1CD. Рядом лежат служебные каталоги, например 1Cv8Log с журналом регистрации. Восстановить базу — значит вернуть этот файл на место.
Порядок действий
- Создайте новую пустую папку, например
D:\Bases\Buh_restore. Не кладите копию поверх остатков старой базы. - Скопируйте туда
1Cv8.1CDиз резервной копии. Если копия в архиве.zip, распакуйте: внутри должен быть этот же файл. Ориентир по размеру — сотни мегабайт или гигабайты; файл в несколько килобайт означает пустую базу. - Запустите 1С, нажмите
Добавить→Добавление в список существующей информационной базы. - Укажите имя базы и путь к папке (не к файлу). Пройдите мастер до конца.
- Откройте базу в режиме «1С:Предприятие» и проверьте последние документы. По дате последнего документа видно, на какой момент сделана копия.
Проверка файла после восстановления
Если файл достали из корзины, программой восстановления или с повреждённого носителя, сначала проверьте его. В каталоге платформы C:\Program Files\1cv8\<версия>\bin\ есть утилита chdbfl.exe:
- Закройте все сеансы этой базы.
- Запустите
chdbfl.exe, укажите путь к1Cv8.1CD. - Сначала прогоните проверку без исправления. Ошибки есть — сделайте копию файла и только потом включите флаг исправления.
Если копия у вас из встроенного резервного копирования программы, восстановить её можно в той же форме Резервное копирование и восстановление. Программа сама закроет базу, заменит файл и перезапустится. Но текущее состояние базы при этом перезапишется, поэтому этот вариант подходит, только когда база цела и нужно откатиться.
Как вернуть базу 1С из файла выгрузки .dt
Выгрузка .dt содержит и конфигурацию, и все данные. Это самый переносимый формат: загрузить его можно и в файловую, и в серверную базу
.
- В окне запуска нажмите
Добавить→Создание новой информационной базы→Создание информационной базы без конфигурации для разработки новой конфигурации или загрузки выгруженной ранее информационной базы. - Укажите тип расположения (на этом компьютере или на сервере 1С) и путь к пустой папке.
- Откройте новую пустую базу в режиме
Конфигуратор. - Выберите
Администрирование → Загрузить информационную базуи укажите файл.dt. - Подтвердите предупреждение: всё содержимое базы будет заменено данными из файла.
- Дождитесь сообщения об успешной загрузке. Для базы на 5–10 ГБ это может занять от десятков минут до нескольких часов.
Загрузка .dt полностью затирает базу, в которую идёт загрузка. Никогда не загружайте выгрузку в рабочую базу, если не уверены, что она свежее текущих данных. Ошибка с файлом здесь стоит дороже, чем время на создание новой пустой базы.
Для загрузки нужен монопольный режим: в базе не должно быть других сеансов. В новой пустой базе это не проблема. В серверной базе другие сеансы смотрят в консоли кластера.
Платформа для загрузки должна иметь номер версии не ниже той, на которой сделана выгрузка. Выгрузку с 8.3.24 загружайте платформой 8.3.24 или новее.
Клиент-серверная база 1С: восстановление из бэкапа SQL
В клиент-серверном варианте 1С хранит данные в СУБД, а кластер серверов 1С лишь знает, где они лежат. Поэтому восстановление идёт в два шага: вернуть базу данных в СУБД и зарегистрировать её в кластере.
Если удалена только регистрация в кластере
Проверьте на SQL-сервере, на месте ли база данных. Если да, ничего восстанавливать не нужно:
- Откройте
Администрирование серверов 1С Предприятия. - В кластере на узле
Информационные базывыберитеСоздать → Информационная база. - Заполните имя базы, тип СУБД, сервер баз данных, имя существующей базы данных и учётную запись.
- Снимите флаг «Создать базу данных в случае ее отсутствия», чтобы при опечатке в имени не создать пустую базу .
- Если это копия рядом с рабочей базой, поставьте флаг «Установить блокировку регламентных заданий».
Восстановление из .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 и большинстве типовых:
Администрирование → Обслуживание → Журнал регистрации; - в Конфигураторе:
Администрирование → Журнал регистрации.
Как найти удаление:
- Нажмите
Отбори выберите события удаления данных и удаления помеченных объектов. - Ограничьте интервал днём, когда заметили пропажу.
- В событии видно пользователя, компьютер и представление объекта, например «Поступление товаров и услуг 00БП-000123 от 12.03».
Дальше два сценария:
- 🔹 Объект только помечен на удаление. Он в базе. Включите показ помеченных в списке, выделите объект и снимите пометку клавишей
Del, затем проведите документ. - 🔹 Объект физически удалён обработкой удаления помеченных. Восстановите резервную копию как отдельную базу, найдите там объект и перенесите в рабочую. Для этого подходит универсальная обработка выгрузки и загрузки данных XML или ручной ввод по копии.
При переносе документа из копии проверьте, не создался ли он повторно. Задвоенные движения по регистрам потом ищутся долго.
Журнал файловой базы хранится в папке 1Cv8Log рядом с файлом базы. Если удалили всю папку, журнал пропал вместе с ней. У серверной базы журнал лежит на сервере 1С, в каталоге srvinfo\reg_1541\<идентификатор базы>\1Cv8Log.
Если резервной копии нет
Шансы есть, пока на диск ничего не записали поверх.
- Корзина. Удалённая через проводник папка с базой часто лежит там целиком.
- Предыдущие версии. Щёлкните правой кнопкой по родительской папке →
Свойства→Предыдущие версии. Работает, если включены теневые копии или история файлов. На серверах их часто включают по расписанию. - Облако и синхронизация. Яндекс Диск, OneDrive и подобные хранят удалённые файлы какое-то время в своей корзине.
- Программы восстановления файлов. Запускайте их с другого диска и восстанавливайте файл на другой носитель. После — обязательно проверка
chdbfl.exe. - Другие компьютеры. У бухгалтера могла остаться копия на флешке, у обслуживающей фирмы — выгрузка после последнего обновления.
Не устанавливайте программы восстановления на тот же диск, где была база. Каждая запись на диск может затереть нужные сектора.
Ошибки при восстановлении базы 1С и как их обойти
После восстановления копии рядом с рабочей базой программа может при первом запуске спросить, перемещена база или это копия. Если это копия для поиска данных, укажите, что это копия. Иначе она начнёт обмены и регламентные задания от имени рабочей базы, например отправит данные в ЭДО или банк повторно.
Как больше не терять базу 1С
Удаление базы почти всегда случайность. Защищает от неё не осторожность, а расписание копий.
- 🗓 Автоматическое копирование. Для файловой базы включите его в
Администрирование → Обслуживание → Резервное копирование и восстановление: ежедневно, с хранением 10–14 последних копий. - 💾 Правило 3-2-1. Три копии, на двух разных носителях, одна вне офиса. Копия на том же диске, что и база, не спасёт при отказе диска.
- 🗄 Для MS SQL — план обслуживания: полный бэкап раз в сутки, журнал транзакций каждые 1–2 часа при полной модели восстановления.
- 🐘 Для PostgreSQL —
pg_dumpпо расписанию с проверкой кода завершения и уведомлением при сбое. - 📦 Выгрузка .dt перед каждым обновлением конфигурации и платформы.
- 🔒 Права. Обычным пользователям не нужны права на удаление папки базы и права администратора кластера.
Главное — проверять копии восстановлением. Раз в месяц разверните последнюю копию как отдельную базу и откройте её. Копия, которую ни разу не восстанавливали, не считается копией.