"Файл базы данных поврежден" - мой опыт восстановления файла 1CD

04.10.12

Задачи пользователя - Корректировка данных

Хочу поделиться собственным опытом восстановления базы 1С. Кое-какие знания по проблеме я получил из форумов на Инфостарте, но кое-что пришлось додумывать самому. Но в результате база, которая не открывалась ни в Конфигураторе, ни во внешней утилите chdbfl, ни в программе Tool_1CD (первые четыре скриншота), в итоге была в моем случае ПОЛНОСТЬЮ ВОССТАНОВЛЕНА.

Надеюсь, мой опыт кому-то поможет при решении аналогичной проблемы.

Итак, изложу перечень своих проделанных действий по шагам:

1) Установил и запустил программу HxD, которая имеется в свободном доступе в Интернет, на русском языке (она очень удобна для очень больших баз, работает достаточно быстро);

2) В программе открыл битую базу, а также базу из бэкапа (к сожалению, довольно старого), разместил их мозаикой для удобства;

3) Нахожу смещение 00004000, где хранится параметр локализации, см. скриншот 5, исправляю его так, как в бэкапе;

4) Далее я вижу, что изменены данные в строках 00004020 и 00004030, исправляю их так, как должно быть, см. тот же скриншот, потом дальше иду вниз по строкам и вижу, что данные совпадают;

5) В строке 00004020 видно, что таблица CONFIG (в которой хранится описание базы данных), начинается с строки 00005000 (скорее всего у всех так), а вот заканчивается она у всех по разному. Чтобы узнать, где она заканчивается, в строке 00004020 надо считать 9,10,11,12 группу чисел-букв слева направо и прочитать эту группу чисел-букв справа налево. У меня выглядит вот так: 84 22 00 00, см. скриншот 6, 7. Это означает, что таблица CONFIGSAVE (следующая за таблицей CONFIG) начинается со строки 02284000 (таблица CONFIGSAVE не должна обязательно начинаться со слова CONFIGSAVE);

6) Копирую таблицу CONFIG со строки 00005000 по строку 02284000 (не включая эту самую строку, поскольку она принадлежит уже следующей таблице CONFIGSAVE) бэкапа в битую базу таблицы CONFIG со строки 00005000 по строку 02284000 (в редакторе: "скопировать и потом "вставить с заменой"). Результат изменений сохраняю;

7) Захожу в режим 1С Предприятие и открываю базу, как обычно.

 

P.S. Несмотря на то, что исправленная база прошла без ошибок "Тестирование и исправление базы" в Конфигураторе, я все же подстраховался и выгрузил из нее нужные мне данные обработкой ВыгрузкаЗагрузкаДанныхXML81(82).epf, которая входит в комплект поставки конфигурации Конвертация данных, а затем загрузил эти данные в бэкап, получив рабочую базу.

P.P.S. Конечно, лучше избегать подобных проблем путем регулярного сохранения бэкапов...

См. также

Исправление в 1С:ЗУП/ЗКГУ ошибок по НДФЛ и взаиморасчетам с сотрудниками на начало расчетного года.

Корректировка данных Зарплата Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

4800 руб.

06.10.2023    2584    29    15    

35

Тестирование и исправление ключей аналитики ERP, УТ11, КА

Корректировка данных Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Незаменимая обработка для сопровождения конфигураций: ERP, УТ, КА. Позволяет вычистить многие ошибки в ключах аналитики, в ключевых справочниках конфигурации.

3600 руб.

10.02.2017    107206    636    173    

679

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27809    82    146    

60

Исправление ошибки закрытия месяца "Обнаружены ненулевые остатки по суммам при нулевом остатке по количеству в регистре себестоимости по организации". УТ 11.4,УТ 11.5, КА 2.4,КА 2.5, ERP 2.4, ERP 2.5, КА 2 Казахстан, Управление торговлей 3 для Казахстана

Закрытие периода Корректировка данных Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Закрытие месяца - важный процесс в современных конфигурациях, таких как УТ 11.4, УТ 11.5, КА 2.4, КА 2.5 ERP 2.4,ERP 2.5, КА 2 Казахстан, УТ 3 Казахстан регламентные операции влияют на расчет себестоимости, и ошибки в данном расчете не дают картины деятельности организации.

2400 руб.

27.10.2021    22522    301    35    

73

Заполнение документа "Корректировка регистров" произвольными данными

Закрытие периода Корректировка данных Платформа 1С v8.3 Система компоновки данных 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 руб.

13.07.2015    50294    171    29    

121
Комментарии
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. root901 04.10.12 19:33 Сейчас в теме
2. Agema 04.10.12 21:10 Сейчас в теме
Спасибо! буду иметь ввиду такой вариант восстановления базы. Сегодня прислали базу, с припиской, что ничем не могут исправить выгрузку, хотя и работает и обновляется, НО не выгружается и не тестируется (вылетает). Помог chdbfl.exe.
Кстати, вот Страница загрузки HxD v1.7.7.0 (03 Apr 2009)
6. CXY 395 06.10.12 04:44 Сейчас в теме
(2) Да, утилиты типа chdbfl и Toll_1CD несомненно облегчают решение проблем в лечении баз, но бывают случаи, когда они просто не могут открыть битую базу, как в моем случае. Конечно, моя ситуация - это частный случай, но если бы проблемы не были бы до конца решены, то конечно далее я бы использовал именно эти утилиты.
3. CXY 395 05.10.12 05:07 Сейчас в теме
Забыл указать еще один нюанс. В битом файле и файле бэкапа могут быть разные размеры таблицы CONFIG. Это может быть связано с тем, что были внесены изменения в конфигурацию. Тогда, если в битом файле будет возможно определить конец таблицы CONFIG (т.е. в смещении 4020 информация не будет затерта, и ее можно будет считать, в моем случае это было сделать нельзя), то при копировании таблицы CONFIG из бэкапа может остаться место до конца таблицы в битом файле. Так вот эти оставшиеся биты до конца таблицы надо ЗАПОЛНИТЬ НУЛЯМИ. В этом случае при запуске 1С: Предприятие конфигурация будет такая же, как в бэкапе, но с последними данными.
4. KliMich 05.10.12 10:42 Сейчас в теме
Спасибо! Приму "на вооружение"
5. пользователь 05.10.12 16:49
Сообщение было скрыто модератором.
...
7. Spas12 06.10.12 17:56 Сейчас в теме
За тему спасибо. Былабы эта тема немного на месяц пораньше пораньше тогда б быллобы всё гуд.
8. Shade 2 07.10.12 15:48 Сейчас в теме
Спасибо за ценный опыт :)
А точно ничего этим не портится?
9. CXY 395 08.10.12 02:38 Сейчас в теме
(8)После всех своих манипуляций я проверил базу через "Тестирование и исправление" в Конфигураторе - никаких проблем не выявлено. Но чтобы уж точно подстраховаться от всех неожиданностей, я выгрузил из битой базы то, что мне нужно и загрузил в бэкап. Это действие, если проходит без ошибок, точно гарантирует беспроблемность последующей работы.
10. awa 2603 08.10.12 14:01 Сейчас в теме
Первые три скриншота с ошибками явно указывают на отсутствие в самом начале файла базы сигнатуры "1CDBMSV8", однако восстановление почему-то начинается с адресов 0x4000.
Либо часть лечения просто пропущена, либо скриншоты ошибки вообще от другого случая.


Вынужден извиниться, я поспешил с выводами.
11. CXY 395 08.10.12 15:56 Сейчас в теме
(10) Прилагаю скриншот сравнения двух баз, начало файла. Выводы делайте сами...
Прикрепленные файлы:
12. awa 2603 08.10.12 16:22 Сейчас в теме
(11) Сорри, был не прав. Сообщение Tool_1CD "База не является информационной базой" означает, что в базе нет ни одной из таблиц CONFIG, CONFIGSAVE, PARAMS, FILES и DBSCHEMA, а не об отсутствии сигнатуры.
13. CXY 395 08.10.12 16:31 Сейчас в теме
(12) Начал я лечение базы с адреса 0x4000 потому, что здесь и нашел параметр локализации (ru_ru), а именно этот параметр 1С не нашла при запуске и выдала сведения об ошибке.

P.S. Вам большой респект за утилиту Tool_1CD, очень полезная утилита, теперь держу постоянно при себе,
на всякий случай...
14. vde69 925 09.10.12 00:06 Сейчас в теме
Открытый проект по сабжу

кто хочет (и имеет опыт и желание) может присоеденится :)
15. vde69 925 09.10.12 08:31 Сейчас в теме
(0) данный способ я-бы не стал рекламировать, поднимать из копии фрагмент корневого - это не правильно (хотя в данном случае и прокатило), правильно будет полная перегенерация корневого. Для этого ищутся все внутрение файлы и по ним строим.... Даже если мы поднимем "мусорную" таблицу - это не страшно, выгрузка хмл будет нормально работать и при переносе в чистую выгрузится только то что нужно.


(0) кстати я эту базу получил от Романа, соответсвенно начало моего ответа (13 числа):

>>>у тебя забит нулями небольшой кусочек каталога корневого обьекта, с 4000h по 4040h
>>>
>>>это точно подлежит востановлению

Как я понимаю Вы знакомы :)))
Кстати по моему мнению сама 1с не могла испортить так корневой


(12)Tool_1CD без корневого не работает, кстати давай собери волю в кулак и доделай описание формата (про индексы), а то сейчас у меня только одна стратегия - грохать индексы :)
16. CXY 395 09.10.12 15:01 Сейчас в теме
(15) Здравствуйте, vde69. Ваш комментарий меня заинтересовал в таком ключе:

"(0) кстати я эту базу получил от Романа, соответсвенно начало моего ответа (13 числа):

>>>у тебя забит нулями небольшой кусочек каталога корневого обьекта, с 4000h по 4040h
>>>
>>>это точно подлежит востановлению

Как я понимаю Вы знакомы :)))
Кстати по моему мнению сама 1с не могла испортить так корневой"

На самом деле база была разрушена 28 сентября 2012 года в одном розничном магазине, последний раз
я проводил профилактическое обслуживание 8 сентября 2012 (и все там было нормально). Затем наша фирма прекратила обслуживание данного магазина из-за денежных разногласий. Вместо меня действительно пришел
на обслуживание магазина Роман, но мы с ним абсолютно незнакомы. Но Роман ничего с базой сделать не смог, в итоге вызвали меня. В результате 4 октября в 14-00 база мною была восстановлена (до этого ночью пришлось как следует поработать, потому что я далеко не такой специалист, как Вы в части восстановления баз 1С :). Но у меня теперь к Вам такой вопрос: что же Вы могли обсуждать с Романом 13 числа?
17. vde69 925 09.10.12 15:27 Сейчас в теме
(16)видимо единичка примазалась, мое письмо было 3 октября 2012, 14:302

кстати про "финансовые разногласия" - охотно верю, владельцы базы явно "экономные"

Но и с другой стороны если Вы обслуживали, то должны понимать что если база 1.6 гига жмется до 200 метров в архиве - то нужно обслуживание, да и отсутствие свежих бекапов это то же Ваша вина :)

А за то, что не потерялись и востановили - однозначно Вам респект.

зы
и все-же я остаюсь при своем мнение "сама 1с не могла так испортить корневой"
18. CXY 395 10.10.12 03:41 Сейчас в теме
(17) Бэкапы были, система их автоматического создания была настроена. Вот только последний бэкап был создан 10 сентября, а потом похоже на сервере был просто "убит" процесс, который за это и отвечал. 3 октября, когда я в магазине забирал базу для восстановления, так оно и было...
Что касается изменений в корневом - Ваше неоднократно высказанное мнение мне понятно... Я тоже задаюсь этим вопросом (у меня несколько версий). Для расстановки всех точек над "i" скажу, что например мне подобное сделать даже в голову не придет (я думаю, Вы понимаете, почему).
19. angele 10.10.12 10:45 Сейчас в теме
Очень полезный опыт. Когда-то была такая ситуация, но как лечил не помню, поэтому и опытом поделиться не могу. +1
20. Spartyxa 08.06.17 17:06 Сейчас в теме
Всем здравствуйте!

Если есть желающие повторить подвиг автора (ему вроде бы личным сообщением отправлял тоже запрос) с нашей "умершей" базой за разумное вознаграждение, будем неимоверно рады
Оставьте свое сообщение