Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 recovery_pending  [new]
PassedBI
Member

Откуда:
Сообщений: 323
Добрый день всем!
Рубанули свет ночью.
База данных в состоянии recovery_pending
select state_desc from sys.databases where database_id = 51

RECOVERY_PENDING

в логах следующее
2014-09-01 11:39:03.00 spid81 Starting up database 'db'.
2014-09-01 11:39:03.01 spid81 Error: 824, Severity: 24, State: 6.
2014-09-01 11:39:03.01 spid81 SQL Server detected a logical consistency-based I/O error: torn page (expected signature: 0xaaaaaaaa; actual signature: 0x00000aaa). It occurred during a read of page (1:0) in database ID 51 at offset 0000000000000000 in file 'D:\..\db_Data.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.
2014-09-01 11:39:04.53 spid81 Error: 824, Severity: 24, State: 2.
2014-09-01 11:39:04.53 spid81 SQL Server detected a logical consistency-based I/O error: torn page (expected signature: 0xaaaaaaaa; actual signature: 0x00c30412). It occurred during a read of page (2:0) in database ID 51 at offset 0000000000000000 in file 'D:\..\db_Log.LDF'. 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.
2014-09-01 11:39:04.53 spid81 Error: 5105, Severity: 16, State: 1.
2014-09-01 11:39:04.53 spid81 A file activation error occurred. The physical file name 'D:\..\db_Log.LDF' may be incorrect. Diagnose and correct additional errors, and retry the operation.

В основном все статьи на эту тему идут через перевод базы в режим emergency
alter database db set emergency


вот только статус базы при этом не меняется, так и остается RECOVERY_PENDING и сама база красной не становится
dbcc checkdb Тоже не запускается, пишет
Database 'db' is being recovered. Waiting until recovery is finished.


есть какой-то вариант перейти в emergency?
бэкап как водится старый (база не моя, попросили помочь, бэкапы конечно надо делать каждый день)
1 сен 14, 14:42    [16519910]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
Glory
Member

Откуда:
Сообщений: 104751
PassedBI
В основном все статьи на эту тему идут через перевод базы в режим emergency

Статьи про ошибку 824 ???
1 сен 14, 14:46    [16519929]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
Glory
Member

Откуда:
Сообщений: 104751
http://support.microsoft.com/?kbid=2015756
1 сен 14, 14:52    [16519972]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
PassedBI
Member

Откуда:
Сообщений: 323
Glory
PassedBI
В основном все статьи на эту тему идут через перевод базы в режим emergency

Статьи про ошибку 824 ???

не совсем, про выход из статуса.
За ссылку спасибо, она объясняет причины. Правда выхода из данной ситуации не предлагает, checkdb же не запускается.
Проверил suspect_pages, есть такая
SELECT * FROM msdb..suspect_pages

database_id	file_id	page_id	event_type	error_count	last_update_date
51 2 0 3 8 2014-09-01 13:56:14.397
1 сен 14, 16:31    [16520410]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
o-o
Guest
PassedBI
есть какой-то вариант перейти в emergency?


наверное никакого EMERGENCY MODE, т.к. в него переводят, когда с логом проблемы и база не была CLEANLY SHUTDOWN.
тогда он пытается открыть базу, не накатывая записи из лога,
но у вас-то кроме поврежденного лога еще и файл базы не читается, вот это:
It occurred during a read of page (1:0) in database ID 51 at offset 0000000000000000 in file 'D:\..\db_Data.MDF'
это страница 0 файла 1 = mdf.
в suspect_pages у вас попала только страница 0 из лога: page (2:0).

я не помню, что там на 0-странице, наверное file header,
но когда не читается 9 страница mdf, это точно капец.
цитирую для 9-ой, поищу сейчас пpо нулевую:

The boot page is inaccessible so in effect the database is inaccessible too, this is what the database state means in this case.

So what does this mean? If the boot page is corrupt, you can't run DBCC CHECKDB so you can't possibly run repair, and you can't put the database into EMERGENCY mode so you can't extract data into a new database. It means that there's NO WAY to recover from a corrupt boot page EXCEPT to restore from backups. One more reason to have backups…

вот про нулевую там же из комментария ниже:
And it would be great if the file header pages at the start of each file were duplicated somewhere else too. There are know plans that I know of to do this – it was discussed a few times when I was in the team but nothing ever came of it. It’s a pretty rare corruption (the chance of that page being corrupted are 1 / #_of_pages_in_database) and can be mitigated with backups.

Boot pages, and boot page corruption

p.s. а чего у вас все еще torn page-то включен, отголоски 2000-ого?
переведите уже в checksum уцелевшие базы
1 сен 14, 17:45    [16520751]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
нмркенренрменрм
Guest
бэкапов нет - сливайте воду и сушите весла.
1 сен 14, 17:52    [16520792]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
PassedBI
Member

Откуда:
Сообщений: 323
o-o,

спасибо за подробности, да, жаль, что файл данных поврежден, если б только лог было бы проще.
насчет torn page тут не отвечу - и базы не мои, и сам не дба.

нмркенренрменрм
бэкапов нет - сливайте воду и сушите весла.

есть бэкап, старый просто.
Привлекли еще людей, если не помогут, то уж выхода не будет, кроме этого бэкапа.

Кстати, в процесс поиска натыкался в инете на разные проги восстановления коррупнутых бд.
Юзал ли кто, имеют они смысл?
1 сен 14, 18:40    [16520963]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
o-o
Guest
PassedBI
жаль, что файл данных поврежден

у вас особое невезение -- не просто файл данных, а его file header page, и он из PRIMARY
вот про него File header pages, and file header corruption
как я понимаю, это тотальный капец, у него там вся нужная информация о себе самом,
не ваши пользовательские данные
1 сен 14, 22:39    [16521594]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
zasandator
Member [скрыт] [заблокирован]

Откуда:
Сообщений: 4887
Всем добрый день... Ситуация схожая.
не могу перевести БД в emergency.
На объекте (я еще не нем не был - не доехал) местный админ удалил "случайно" файл .NDF... бэкапов нет совсем никаких не настраивали. Собственно готовлюсь к командировке. Но! заранее пытаюсь смоделировать ситуацию - имея такую же по структуре БД - удаляю файл с индексами (больше в этом файле ничего нет) и перевести БД в статус EMERGENCY, SINGLE_USER для дальнейшего чекдб. Не переводится! Остается в статусе RECOVERY_PENDING.
сам скрипт:
alter database mydb set single_user
alter database mydb set emergency
go
select * from sys.master_files where db_name(database_id) like 'mydb'
go
dbcc checkdb (mydb, repair_allow_data_loss) with no_infomsgs, all_errormsgs
go
alter database mydb set multi_user;
go

результат в общем то первых 3х команд такой... (((
name		user_access_desc	state_desc
mydb SINGLE_USER RECOVERY_PENDING
Есть возможность все таки перевести БД в режим EMERGENCY?
28 май 15, 13:24    [17701151]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
Glory
Member

Откуда:
Сообщений: 104751
zasandator
местный админ удалил "случайно" файл .NDF

И после этого вы хотите что-то делать с базой ?
28 май 15, 13:28    [17701188]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
o-o
Guest
подложить ему пустой файл ndf, созданный для базы с тем же названием на аналогичном по версии сервере?
28 май 15, 13:31    [17701205]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
zasandator
Member [скрыт] [заблокирован]

Откуда:
Сообщений: 4887
Glory
zasandator
местный админ удалил "случайно" файл .NDF

И после этого вы хотите что-то делать с базой ?


хотя бы восстановить что то... поставить из шаблона БД новую а из восстановленной данные перезалить.

o-o
подложить ему пустой файл ndf, созданный для базы с тем же названием на аналогичном по версии сервере?

Пробовал не выводит в эмерженси из рекавери пендинг
28 май 15, 13:40    [17701288]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
Glory
Member

Откуда:
Сообщений: 104751
zasandator
хотя бы восстановить что то...

Это же не текстовый файл, где по паре букв можно восстановить слово
28 май 15, 13:43    [17701319]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
zasandator
Member [скрыт] [заблокирован]

Откуда:
Сообщений: 4887
Glory
zasandator
хотя бы восстановить что то...

Это же не текстовый файл, где по паре букв можно восстановить слово

Ну я понимаю. Была мысль сделать dbcc checkdb (mydb, repair_allow_data_loss) и уже из того что будет доступно перелить
28 май 15, 14:12    [17701494]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
Glory
Member

Откуда:
Сообщений: 104751
zasandator
Была мысль сделать dbcc checkdb (mydb, repair_allow_data_loss)

Вы серьезно думаете, что эта команда откуда то восстановит данные удаленного файла ???
28 май 15, 14:14    [17701502]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
0-0
Guest
zasandator
На объекте (я еще не нем не был - не доехал) местный админ удалил "случайно" файл .NDF... бэкапов нет совсем никаких не настраивали.


Наверное теперь бэкапы будут делать на объекте, может быть еще повезет и местного админа сменят.
28 май 15, 14:17    [17701515]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
0-0
Guest
zasandator,

единственное что вам поможет - свинтить диски и отдать их кому-то, у кого есть опыт восстановления стертых данных с поврежденных дисков.
Может и удастся что-то сделать.
28 май 15, 14:18    [17701522]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
У меня была подобная ситуация - админ при переносе случайно удалил два файла ndf. После анализа структуры оказалось, что файлы содержали пустую файлгруппу - т.е. ни одной таблицы, ни одного индекса - ничего не было в этой файлгруппе.

К сожалению, времени поковырять эту базу и попробовать ее воскресить не было, пришлось восстанавливаться из бэкапа двухдневной давности с потерей данных за 2 дня работы.
28 май 15, 14:19    [17701529]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
zasandator
Member [скрыт] [заблокирован]

Откуда:
Сообщений: 4887
Glory
zasandator
Была мысль сделать dbcc checkdb (mydb, repair_allow_data_loss)

Вы серьезно думаете, что эта команда откуда то восстановит данные удаленного файла ???

Я полагаю что эта команда восстановит метаданные из .mdf файла, сами данные которые были в этой файловой группе утеряны и останутся не восстановленные. В принципе если там одни некластерные индексы (изначально этот файл=файловая группа именно для этого и предназначалась), то их можно пересоздать
28 май 15, 14:20    [17701540]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
zasandator
Member [скрыт] [заблокирован]

Откуда:
Сообщений: 4887
0-0
zasandator,

единственное что вам поможет - свинтить диски и отдать их кому-то, у кого есть опыт восстановления стертых данных с поврежденных дисков.
Может и удастся что-то сделать.

весь RAID массив из 24 дисков вместе с хранилкой? )
28 май 15, 14:22    [17701551]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
0-0
Guest
zasandator
0-0
zasandator,

единственное что вам поможет - свинтить диски и отдать их кому-то, у кого есть опыт восстановления стертых данных с поврежденных дисков.
Может и удастся что-то сделать.

весь RAID массив из 24 дисков вместе с хранилкой? )


Это риторический вопрос?
Тогда я тоже задам риторический: почему такая нелюбовь к бэкапам?
28 май 15, 14:25    [17701565]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
zasandator
Member [скрыт] [заблокирован]

Откуда:
Сообщений: 4887
0-0,

Вопрос к админу на объекте... за такую нелюбовь его вероятнее всего уволят по статье... хотя наверное скорее даже за удаление файлов...
но вопрос пока открыт: что можно сделать имея несколько файлов БД сделать ее доступной хотя бы для чтения? хотя бы тех данных какие в этих не удаленных файлах..?
28 май 15, 14:29    [17701588]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
Glory
Member

Откуда:
Сообщений: 104751
zasandator
что можно сделать имея несколько файлов БД сделать ее доступной хотя бы для чтения?

Ваши несколько файлов и так доступны вам для чтения - через любую программу, хоть через Нотепад
28 май 15, 14:33    [17701626]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
Glory
Member

Откуда:
Сообщений: 104751
zasandator
что можно сделать имея несколько файлов БД сделать ее доступной хотя бы для чтения?

Ваши несколько файлов и так доступны вам для чтения - через любую программу, хоть через Нотепад
28 май 15, 14:34    [17701629]     Ответить | Цитировать Сообщить модератору
 Re: recovery_pending  [new]
zasandator
Member [скрыт] [заблокирован]

Откуда:
Сообщений: 4887
Glory
zasandator
что можно сделать имея несколько файлов БД сделать ее доступной хотя бы для чтения?

Ваши несколько файлов и так доступны вам для чтения - через любую программу, хоть через Нотепад

Глори, Вы же прекрасно понимаете суть вопроса. Давайте уточню - хочется читать данные из этих файлов посредством SQL Server - запросами )))
28 май 15, 14:40    [17701680]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить