Восстановление поврежденной файловой базы
Всем Здравствуйте!
Ситуация такая:
У моего старого клиента поломалась база. Бэкапов за все время сделал 1 шт и то 2х месячной давности.
Стал восстанавливать -
1) в клиент зайти не смог из-за ошибки.
2) chdbfl выдал ошибку что невозможно выполнить проверку из-за дубля таблицы v8users. Через Tools1C удалил эти дубли.
3) Опять запустил chdbfl - проверка выполнилась, в описании написало что слетело описание таблицы(какой именно там не написало)
4) Запустил Тестирование исправление - выдало ошибку что отсутствует таблица _Reference51. Путем написания нехитрой обработки выяснилось что это Справочник.Номенклатура.
5) После этого пробовал все что только возможно - удалял справочник из базы и ставил новый из нормальной конфы, перезаливал конфу итд итп., но остановился на варианте перекинуть через Tools1C из старого бэкапа эту таблицу.
Итог - сделал, но номенклатура которая была введена после даты этого бэкапа отображалась в системе пустыми ссылками.
Объяснил клиенту ситуацию и отдал базу. На следующий день он мне позвонил и сказал что от меня отказывается... и что кто-то ему восстановил данные ПОЛНОСТЬЮ!
Отсюда вопрос - как реально было сделать это полностью с восстановлением справочника с номенклатурой?
Помогите разобраться пожалуйста!
Ситуация такая:
У моего старого клиента поломалась база. Бэкапов за все время сделал 1 шт и то 2х месячной давности.
Стал восстанавливать -
1) в клиент зайти не смог из-за ошибки.
2) chdbfl выдал ошибку что невозможно выполнить проверку из-за дубля таблицы v8users. Через Tools1C удалил эти дубли.
3) Опять запустил chdbfl - проверка выполнилась, в описании написало что слетело описание таблицы(какой именно там не написало)
4) Запустил Тестирование исправление - выдало ошибку что отсутствует таблица _Reference51. Путем написания нехитрой обработки выяснилось что это Справочник.Номенклатура.
5) После этого пробовал все что только возможно - удалял справочник из базы и ставил новый из нормальной конфы, перезаливал конфу итд итп., но остановился на варианте перекинуть через Tools1C из старого бэкапа эту таблицу.
Итог - сделал, но номенклатура которая была введена после даты этого бэкапа отображалась в системе пустыми ссылками.
Объяснил клиенту ситуацию и отдал базу. На следующий день он мне позвонил и сказал что от меня отказывается... и что кто-то ему восстановил данные ПОЛНОСТЬЮ!
Отсюда вопрос - как реально было сделать это полностью с восстановлением справочника с номенклатурой?
Помогите разобраться пожалуйста!
По теме из базы знаний
- Стратегия резервного копирования базы данных для MS SQL Server
- Восстановление работоспособности файловой базы. 0. Введение
- Восстановление работоспособности файловой базы. 1. Обследование
- Просмотр и восстановление любых таблиц БД для компоненты 1CDLib + Быстрая очистка регистра "Замеры времени"
- Восстановление базы из DT, если она не хочет восстанавливаться
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(10) Xershi, была файловая база - которую я скопировал на свой ноут и там уже шаманил. dt(бэкап) файл был от 22.12, а база поломалась 12.02. Кстати был 1н в голове вариант что могли поднять базу через программу которая восстанавливает затертые данные с диска, но это так, предположения...
(1) cyberi,
chdbfl выдал ошибку что невозможно выполнить проверку из-за дубля таблицы v8users. Через Tools1C удалил эти дубли.
А содержимое дублей перед удалением проверяли? Может, в одном из них и содержался справочник номенклатуры, просто имя таблицы сбилось?
(9) cyberi,
Но это лишь предположение... как и всё остальное в этой ветке. Если хотите более точного ответа, то выкладывайте оригинал базы где-нибудь на файлообменнике, желающие покопаются и, может быть, чего-то нароют.
А может, и нет.
этой таблицы не было вообще (даже с другим названием)
Вы не поняли. Возможно, в результате сбоя таблица _Reference51 получила имя v8users и вы не глядя ее сами удалили, как дубль. А конкурент посмотрел на содержимое, выгрузил ее в XML, внес поправки и загрузил уже как _Reference51.
Но это лишь предположение... как и всё остальное в этой ветке. Если хотите более точного ответа, то выкладывайте оригинал базы где-нибудь на файлообменнике, желающие покопаются и, может быть, чего-то нароют.
А может, и нет.
(1) cyberi, Анализировать нужно было тщательней и посылать клиента с его поторапливаниями куда подальше, например кофе сварить... теперь то какой смысл дергаться?
А по сабжу - был случай когда у клиента "убилась" файловая база альфа-авто и при анализе таблиц выяснилось что в одну из таблиц, тоже вроде номенклатура, были записаны несколько строк с не корректными символами. После удаления этих строк все заработало.
checkdbfl вообще стараюсь не использовать, только как самое последнее средство. Ну и все манипуляции проделываю только на копии базы, чтоб потом можно было еще раз проанализировать случившиеся.
А по сабжу - был случай когда у клиента "убилась" файловая база альфа-авто и при анализе таблиц выяснилось что в одну из таблиц, тоже вроде номенклатура, были записаны несколько строк с не корректными символами. После удаления этих строк все заработало.
checkdbfl вообще стараюсь не использовать, только как самое последнее средство. Ну и все манипуляции проделываю только на копии базы, чтоб потом можно было еще раз проанализировать случившиеся.
Похоже cooler прав, перемудрил немного видимо дело было к вечеру и клиент торопил. А может у конкурента рука набита или он себе бэкап сделал и клиента на денюжку развел.Кстати на развод тоже смахивает если знаешь где ошибка и как исправить, уже настораживает. И кстати таблицы сравнивал испорченную с бэкапом- может там часть была повреждена, то он и "объединил" таблицы а не заменил!?
В общем я решил задачу. Помог старый друг, который указал в чем косяк... хотя все было на поверхности
поэтому пишу ответ(может кому будет полезно) -
1) через tools1C удалил ошибочную запись в v8users(после этого стало заходить в клиент базы)
2) затем через tools1C сделал - Поиск и сохранение потерянных таблиц и Найти и сохранить потерянные объекты(на закладке дополнительно)
3) после этого зайдя в базу я убедился, что номенклатура восстановилась, но все равно были ошибки в базе. Эту проблему я решил выгрузкой в dt и загрузкой обратно.
4) в дальнейшем я сделал тестирование и исправление - прошло без ошибок.
Как-то так. Конечно обидно, что кто-то в этом оказался умнее меня... Хотя надо было изначале пользоваться более новым инструментарием(до этого случая пользовался старой версией tools1c) и как было написано выше не надо было торопиться!
И да - всем спасибо за ответы!
поэтому пишу ответ(может кому будет полезно) -
1) через tools1C удалил ошибочную запись в v8users(после этого стало заходить в клиент базы)
2) затем через tools1C сделал - Поиск и сохранение потерянных таблиц и Найти и сохранить потерянные объекты(на закладке дополнительно)
3) после этого зайдя в базу я убедился, что номенклатура восстановилась, но все равно были ошибки в базе. Эту проблему я решил выгрузкой в dt и загрузкой обратно.
4) в дальнейшем я сделал тестирование и исправление - прошло без ошибок.
Как-то так. Конечно обидно, что кто-то в этом оказался умнее меня... Хотя надо было изначале пользоваться более новым инструментарием(до этого случая пользовался старой версией tools1c) и как было написано выше не надо было торопиться!
И да - всем спасибо за ответы!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот