25.03.2008, 09:16 | #1 |
Гость
|
SQL 2000 восстановление базы из MDF
Понимаю, что Гугл рулит, но такую глобальную вещь надо сохранять многократно и беречь, не смыкая глаз.
Если наш родной MS SQL в очередной раз взбрыкнул (что характерно после подвисонов и 'передергиваний' крупных рабочих баз) и перевел вашу базу в состояние Suspected или еще какое нехорошее, не спешите мылить веревку. Гляньте сюда, Ваша проблема, скорее всего, разрешится. Сбросьте лог (сбой происходит в нем) и восстанавливайте базу из MDF. Прилагаю также файл-копию совета со своими комментами. http://www.sql.ru/faq/faq_topic.aspx?fid=123 Да, работает на 2000-м только вроде... |
|
25.03.2008, 09:19 | #2 |
Злыдни
|
Цитата:
DBCC CHECKDB('<db_name>', REPAIR_ALLOW_DATA_LOSS)
|
|
25.03.2008, 10:46 | #3 |
Гость
|
да, надо предупредить. Но вся процедура выполняется тогда, когда уже ничего не страшно
|
|
25.03.2008, 11:23 | #4 |
Модератор
|
А вот что про подобные "фокусы" пишет Paul Randal ("папа" DBCC, недавно покинул Microsoft)
Corruption: Last resorts that people try first... Все дело - в нормальной политике резервного копирования. Она или есть и гарантирует восстановление за заранее определенное время с заранее оговоренными потерями данных, или ее нет
__________________
-ТСЯ или -ТЬСЯ ? |
|
25.03.2008, 11:58 | #5 |
Гость
|
ого! Так эта команда еще и ' undocumented and unsupported'. Просто мегареспект кулибину!
|
|
25.03.2008, 12:03 | #6 |
Участник
|
на sql.ru эта тема вроде в FAQ
|
|
25.03.2008, 12:10 | #7 |
Гость
|
так, команда есть и In SQL Server 2005. С другим синтаксисом
|
|
25.03.2008, 12:22 | #8 |
Модератор
|
__________________
-ТСЯ или -ТЬСЯ ? |
|
25.03.2008, 12:36 | #9 |
Гость
|
Цитата:
А вот что про подобные "фокусы" пишет Paul Randal ("папа" DBCC, недавно покинул Microsoft)
А совет по поводу того, что грамотный бэкап исправит ситуацию, позволю себе подвергнуть критицизму: 1. если сбой в логе (а он там и есть), то остается воспользоваться только периодическим бэкапом 2. Периодический бэкап не сохраняет не только текущих операций, но и больший или меньший пул предыдущих... Так что не все так просто. PS после наката восстанавливающей процедуры база стала работать быстрее. По первым впечатлениям. Возможно, более корректные настройки по умолчанию накатились или еще чего... |
|
25.03.2008, 20:10 | #10 |
Модератор
|
Цитата:
Сообщение от otkudao
много буков, а написано о том, что и так вроде интуитивно понятно: "Данные, модифицируемые неоконченными на момент сбоя транзакциями (в том числе системными), перестраиваются с удалением сбойных (на которые нет внутренних ссылок)". Соответственно, велика вероятность, что последних обрабатываемых данных вы не увидите. Возможно, и кое-каких еще
Цитата:
А совет по поводу того, что грамотный бэкап исправит ситуацию, позволю себе подвергнуть критицизму:
1. если сбой в логе (а он там и есть), то остается воспользоваться только периодическим бэкапом 2. Периодический бэкап не сохраняет не только текущих операций, но и больший или меньший пул предыдущих... Так что не все так просто. P.S. Хотя - мы живем в свободной стране, восстанавливайтесь так, как считаете правильным. Жизнь сама все расставит по местам P.P.S. Если БД регулярно вываливается в suspect - проверяйте железо, ненормально это
__________________
-ТСЯ или -ТЬСЯ ? |
|
25.03.2008, 22:17 | #11 |
Гость
|
проверять-[до]восстанавливать потерянное потребуется в любом случае вручную.
Потери неизбежны. Возникают они из-за отсутствия целостности или из-за большого периода бэкапирования - клиентам-то без разницы. Развернулись и ушли. Но это уже лирика... Хотел еще заметить, что в гладкую теорию жизнь всегда вносит свои коррективы. Что нетрудно заметить по "бороде" "Спасиб" в первой ссылке на sql.ru. PS Цитата:
Жизнь сама все расставит по местам
Последний раз редактировалось otkudao; 25.03.2008 в 22:23. |
|
Теги |
sql server |
|
|