Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Восстановление БД (SQL 2005, ldf потерян)  [new]
dolly_ev
Member

Откуда: Чита
Сообщений: 29
Доброго времени суток!
Исходные данные:
select @@version
Microsoft SQL Server 2005 - 9.00.5292.00 (X64)  Microsoft Corporation  Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2) 

База 1С 77 размером 15 Гб. Модель восстановления SIMPLE.
Система: Win2003 x64 на VHD
После сбоя питания на месте лога базы обнаружен файл размером 500 Кб (реально ldf должен быть минимум 150 Мб, почему лог такой маленький точно сказать не могу. До того, как я оказался на месте событий, еще один человек был, но говорит "Ничего руками не трогал")
В итоге База в SUSPECT.

Предпринималось:
1.
use master 
go 
sp_configure 'allow updates', 1 reconfigure with override 
go
alter database MNFK set emergency
go
alter database MNFK set single_user
go
dbcc checkdb ('MNFK', REPAIR_ALLOW_DATA_LOSS)
go
alter database MNFK set multi_user


2.
EXEC sp_attach_db @dbname = N'MNFK', @filename1 = N'D:\SQLDATA\MNFK.mdf'


3.
Attach a database
CREATE DATABASE database_name 
    ON <filespec> [ ,...n ] 
    FOR ATTACH_REBUILD_LOG }


3. Подмена mdf для вновь созданной базы
3813849

В итоге все варианты останавливаются на
dbcc checkdb ('MNFK', REPAIR_ALLOW_DATA_LOSS)
,вот с таким логом:
2014-07-01 14:07:03.03 spid52 DBCC CHECKDB (MNFK, repair_allow_data_loss) WITH no_infomsgs executed by sa found 64 errors and repaired 0 errors. Elapsed time: 0 hours 0 minutes 1 seconds.
2014-07-01 14:07:41.23 spid16s Recovery of any in-doubt distributed transactions involving Microsoft Distributed Transaction Coordinator (MS DTC) has completed. This is an informational message only. No user action is required.
2014-07-01 14:18:55.99 spid52 Setting database option MULTI_USER to ON for database MNFK.
2014-07-01 14:27:05.17 spid53 Error: 824, Severity: 24, State: 2.
2014-07-01 14:27:05.17 spid53 SQL Server detected a logical consistency-based I/O error: incorrect pageid (expected 1:1892592; actual 0:0). It occurred during a read of page (1:1892592) in database ID 5 at offset 0x0000039c1e0000 in file 'C:\BASES\SQL_Data\MNFK.mdf'. Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.


П.С. Вчера после нескольких попыток восстановления вогнал базу в MULTI_USER, и попробовал полистать таблички и сделать экспорт. Экспорт обругался еще на стадии маппинга на 4 таблицы - снял с них галки, однако в дальнейшем оказалось, что почти все таблицы базы нечитаемы ("SQL Server detected a logical consistency-based I/O error:...").

П.С.2 На данный момент скрипт dbcc checkdb ('MNFK', REPAIR_ALLOW_DATA_LOSS) запустился надолго - уже три часа процесс идет... Но не могу понят, происходит что-либо или нет?

П.С.3 Сам я "одинеснег", действую в данном случае больше нативно, с пом. гугля и по ситуации... Хелп -:(
1 июл 14, 13:41    [16243464]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД (SQL 2005, ldf потерян)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
dolly_ev
Но не могу понят, происходит что-либо или нет?
У вас не только файл лога испорчен.
dolly_ev
Хелп -:(
Восстанавливайте базу из бэкапа.
1 июл 14, 13:44    [16243489]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД (SQL 2005, ldf потерян)  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
dolly_ev, бэкап давно делался? а то может поднять его и дело с концом
1 июл 14, 13:44    [16243491]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД (SQL 2005, ldf потерян)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
И да, перед тем, как чинить что-то в файлах, надо было checkdisk прогнать (скопировав предварительно файлы базы).
1 июл 14, 13:45    [16243495]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД (SQL 2005, ldf потерян)  [new]
invm
Member

Откуда: Москва
Сообщений: 9827
dolly_ev
SQL Server detected a logical consistency-based I/O error:...
Это не лечится, особенно если повреждены метаданные. Восстанавливайтесь из резервной копии (которой, наверное, нет?).
1 июл 14, 13:48    [16243522]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД (SQL 2005, ldf потерян)  [new]
dolly_ev
Member

Откуда: Чита
Сообщений: 29
Гавриленко Сергей Алексеевич,

chkdsk в первую очередь, все Ок. физически файл MDF спокойно и без ошибок копируется на/между девайсами.

Бэкап - это слово, которое мы "теперь точно будем делать"... классика вобщем :-(.
Ближайший бэкап - 27.11.13
Был бы хотя бы недельный - уже бы не дрыгался и сюдаб не писал :-(
1 июл 14, 13:49    [16243531]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД (SQL 2005, ldf потерян)  [new]
dolly_ev
Member

Откуда: Чита
Сообщений: 29
Меня вот какой вопрос мучает: почему за 2 дня шаманства dbcc checkdb ('MNFK', REPAIR_ALLOW_DATA_LOSS) всегда отрабатывало очень быстро, за 1 - 10 сек., а тут ушло в задумчивость на более чем три часа, и как посмотреть - происходит что-либо полезное при этом?
1 июл 14, 13:53    [16243568]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД (SQL 2005, ldf потерян)  [new]
NickAlex66
Member

Откуда:
Сообщений: 319
dolly_ev,

DBCHECK ... WITH ALL_ERRORMSGS, а вообще и так понятно - делает все, что может.
Можно попробовать восстановить поврежденную страницу в mdf, но и тут - чем свежее бэкап, тем вероятность на успех выше.
1 июл 14, 14:29    [16243840]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД (SQL 2005, ldf потерян)  [new]
dolly_ev
Member

Откуда: Чита
Сообщений: 29
NickAlex66
dolly_ev,

DBCHECK ... WITH ALL_ERRORMSGS, а вообще и так понятно - делает все, что может.
Можно попробовать восстановить поврежденную страницу в mdf, но и тут - чем свежее бэкап, тем вероятность на успех выше.


Возьмешься? 16243809
1 июл 14, 14:46    [16243954]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД (SQL 2005, ldf потерян)  [new]
SQLhunter
Member

Откуда:
Сообщений: 74
dolly_ev,

Базу в руки дадите? До каких-либо манипуляций, желательно.
И бэкап. Хоть какой
1 июл 14, 14:51    [16243978]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД (SQL 2005, ldf потерян)  [new]
dolly_ev
Member

Откуда: Чита
Сообщений: 29
Знающие люди, хелп!
dbcc checkdb ('MNFK', REPAIR_ALLOW_DATA_LOSS) ушло в задумчивость на более чем уже 18 часов, как посмотреть - происходит что-либо полезное при этом?
Конец лога СКЛя:
2014-07-01 15:03:23.07 spid54 Setting database option EMERGENCY to ON for database MNFK.
2014-07-02 00:01:01.51 spid15s This instance of SQL Server has been using a process ID of 4672 since 01.07.2014 14:02:46 (local) 01.07.2014 4:02:46 (UTC). This is an informational message only; no user action is required.


tempdb не пухнет, процесс sql отъедает чуть-чуть процессора.
Запустил профайлер - там тишина. Есть смысл ждать какого-либо результата?
2 июл 14, 06:08    [16246577]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД (SQL 2005, ldf потерян)  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8807
Если диск битый, например, то активность системы будет около нуля. Т.е. при попытках прочесть поврежденный кусок жесткого диска система находится в состоянии ожидания ввода-вывода и обработка ведется крайне медленно.
2 июл 14, 12:53    [16248341]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить