|
|
Случилось страшное. Новый сервер, построенный по всем канонам отказоустойчивости рухнул меньше чем через сутки после запуска. Причем раскорячило его на полном скаку со всеми вытекающими. После того, как сервер все-таки запустили, оказалось, что база находится в состоянии suspect. При изучении логов выяснилось, что база отваливается при попытка накатить транзакции, находящиеся в журнале транзакций. От мысли восстановить базу с бэкапа мы отказались, ибо это повлекло бы повторный ввод документов за почти целый рабочий день. Было решено попытаться восстановить имеющуюся базу данных без журнала транзакций. Но как это сделать. Вот Здесь описано КАК. Что и было сделано. Прогнав несколько раз базу DBCC CHECKDB, запустили тестирование и исправление средствами любимой 1С. После пересчета итогов, оказалось, что ТА уехала почти на месяц назад. Это тоже исправили. Дальше началась уже работа по тонкому восстановлению информации. Оказалось, что у некоторых документов отсутствует шапка. На старом сервере была база суточной давности. Я написал обработку с использованием библиотеки 1С++, которая дернула из старой базы недостающие шапки документов, остальные документы (за последний день) были восстановлены по косвенной информации, находящейся в регистрах и связанных документов. Выплыла еще одна бяка - отсутствовала информация о подчиненности документов с поврежденными шапками. Ее аналогичной обработкой также дернули со старой базы. В итоге было потеряно около десятка последних по хронологии документов из базы размером в 20 Gb. |
Copyright © 2004 Андрей Попов сотоварищи
|