грохнулась база. нетрадиционно. есть ли способы ремонта?
Papic
Дата: 15.12.2002 08:55:17
MS SQL 7 sp2, W2k Server sp3
была база. физически располагалась в 5-ти файлах (в 3 данные +лог +индекс). сдохла. В результате один файл с данными, к. можно спокойно грохнуть, повредился (точнее удалось вытащить его с диска с меньшим размером, чем он был на самом деле). Соответственно база вообще не открывается. Удалось подключить ее в emergency mode (соотв. она suspect), где можно только скопировать (и то криво - в одну файловую группу - т.е. в один файл), а исходя из ее свойств (~40G, куча всего внутри), из скопированного сделать обратное (т.е. разнести в 5 файлов как и было) чрезвычайно тяжело... Бакап частично битый оказался - не вытаскивается лог, но тот битый файл вытаскивается. Но если его подсунуть, то база естественно не подключается...
Есть ли способы сделать 2 вещи:
1) на низком уровне физически в файле поменять его имя, название, размер, sid и тп? т.е. подсунуть пустую новую базу (или из бакапа) вместо имеющейся битой?
2) удалить все содержимое поврежденного файла? или еще как-нить его убить из базы или поднять ее без него? В emergency режиме что-либо делать с базаой сикуэль не дает (он же в read only), если режим принудительно поменять, сервак ругается и уходит в suspect...
Есть ли еще какие-либо способы?
З.Ы. Способы, изложенные в ФАКе (про умирание лог-файла) не подходят.
Александр Гладченко
Дата: 15.12.2002 09:22:48
Можно купить MSSQLRecovery.
Papic
Дата: 15.12.2002 09:32:07
отстой. ты представляешь, сколько она будет работать на базе 40 гиг и какой будет размер вышедшего скрипта??? полный этот самый... мрак в общем... К тому же не факт, что она сумеет растащить все опять по 5-ти файлам... Надо именно на низком уровне - типа Ф4 нажать :)) Пытались понять, где пишется размер файлов в sysfiles - не поняли. похоже оно одну запись не последовательно пишет... хоть бы формат найти, что ли...
ziktuw
Дата: 15.12.2002 10:37:35
На западе отделы техподдержки MS за бабки берется за такие задачи восстановления рухнувших баз с выездом специалиста на место аварии. Не знаю, как здесь, но MS настоятельно рекомендует в таких случаях незамедлительно обращаться в региональные центры техподдержки. Попробуйте связаться с местным офисом MS. Если ценность данных превышает сумму, которую потребует MS, вы договоритесь так или иначе.
Papic
Дата: 15.12.2002 10:49:15
если бы ты знал, сколько этот спец до нас ехать будет (по времени), то не стал бы советовать :)) нету в казани таких специалистов... ИМХО
Да и по идее, должен быть способ...
Papic
Дата: 15.12.2002 10:59:31
Кречет в общем то уже думает, авось что и надумает... Меня что удивляет - что для MS SQL практически нету никаких тулзов для физического доступа и ремонта файлов баз данных. Для оракла например есть... И формат самых баз (физический) тоже закрыт... Короче некрасиво это как-то... Не промышленно, скажем так ;)
alexeyvg
Дата: 15.12.2002 11:35:13
> Не промышленно, скажем так ;)
А не делать бакапы - это промышленно?
А всяких тулзов для MS SQL довольно много, тот-же MSSQLRecovery. Работать они будут не долго, а очень долго. Но восстановление не из бакапа, из битых файлов, никто быстро и не обещал. Я думаю, для других БД так-же.
Papic
Дата: 15.12.2002 12:11:59
поиском по слову recovery ms sql нашли только упомянутую прогу. А теперь скажи, что делать, когда из базы с несколькими файл группами оно сольет в одну, и как потом растащить по нескольким? С сколько будет размером скрип для бащы напр. 10 гиг? :)) Мне сам способ этот кажется несколько эээ... кривым... Хотя может я и не прав...
Александр Третьяков
Дата: 15.12.2002 13:52:21
2Papic:
Я бы на твоем месте не пренебрегал никакими способами (неделю назад был в твоей ситуации, можеш по форуму поискать)
Утилита MSSQLRecovery возможно поможет, скачай демо с их сайта и посмотри что она сможет сделать, если данные для тебя важны!!! Я пытался восстановить свои в течении нескольких суток, что я только не перепробовал и файлы подменял и логи подменять и с режимами разбирался и многое другое... Для примера на базе 1гиг у меня она на Р4-1500 работала долго две минуты, но что две минуты по сравнением с ВАЖНОСТЬЮ данных. Правда в моем случае именно те данные которые для меня были важны она "демо" и не увидела (для меня были важны последние три дня) и в моем случае понятно почему их не увидели -- у меня произошел "сбой" дисковой системы как раз 3 дня назад, поэтому в mdf за последние три дня была разная белеберда (я думаю так).
Правда Если кто-то знает утилиты для восстановления битых файлов, то я буду признателен за информацию.
Александр Гладченко
Дата: 15.12.2002 16:08:15
Другие способы, кроме уже предложенных, мне не ведомы :(((