04.05.2008, 14:05 | #1 |
Участник
|
MS SQL 2005 восстановление
Всем доброго времени суток!
Суть проблемы: Имеется полный бэкап базы (модель full). Бэкап производится раз в сутки. Перед полным бэкапом обрезается лог (backup log [db_name] with truncate_only) Далее, во время рабочего дня база данных переходит в состояние suspect (вылетает диск с mdf файлом). Теперь собственно вопрос: Имеется ли возможность восстановить максимальный объем данных, имея на руках полный бэкап БД суточной давности и текущий журнал транзакций на другом SQL Server-е? Если возможно, пожалуйтса, ссылки на FAQ, статьи и др. |
|
04.05.2008, 14:39 | #2 |
Участник
|
спросил у своего братишки
пара ссылок http://msdn.microsoft.com/en-us/library/ms177446.aspx http://msdn.microsoft.com/ru-ru/library/ms177446.aspx если по англицки тяжко читать сначала восстановить базу с параметром Leave the database non-operational, and do not roll back the uncommitted transactions. Additional transaction logs can be restored. (RESTORE WITH NORECOVERY) а потом отыграть сам лог |
|
04.05.2008, 15:40 | #3 |
Участник
|
Все это здорово. Но вопрос. Если нет резервных копий журнала транзакций, а только живой журнал LDF, причем MDF файла нет. Как можно из него восстановить транзакции в востановленную базу из полного бэкапа?
|
|
04.05.2008, 17:18 | #4 |
Модератор
|
Цитата:
сначала восстановить базу с параметром Leave the database non-operational, and do not roll back the uncommitted transactions. Additional transaction logs can be restored. (RESTORE WITH NORECOVERY)
а потом отыграть сам лог Цитата:
Перед полным бэкапом обрезается лог (backup log [db_name] with truncate_only)
Цитата:
впредь тестируйте сценарии восстановления после сбоя А вообще - ветке место скорее на SQL.RU, чем тут
__________________
-ТСЯ или -ТЬСЯ ? |
|
05.05.2008, 11:41 | #5 |
Участник
|
Цитата:
Сообщение от vadik
и все бы ничего, одна проблема
Перед полным бэкапом обрезается лог (backup log [db_name] with runcate_only) А именно: в suspect-ной БД делаем BACKUP LOG ... WITH NO_TRUNCATE. Далее восстанавливаем БД из полного архива с WITH NORECOVERY, а сделанный перед этим бэкап лога с WITH RECOVERY (если не делались другие бэкапы лога после полного архивирования). Цитата:
Сообщение от Tarrash
Если нет резервных копий журнала транзакций, а только живой журнал LDF, причем MDF файла нет. Как можно из него восстановить транзакции в востановленную базу из полного бэкапа?
Если не получится, можно попробовать посмотреть ldf-файл (и, может, что-то восстановить) утилитой http://www.sql.ru/forum/actualthread...d=1&tid=398668. Лучше сразу взять с последней страницы новую версию. Но это уже в крайнем случае... |
|
|
За это сообщение автора поблагодарили: Tarrash (1). |
05.05.2008, 15:39 | #6 |
Участник
|
Большое спасибо! Проблема решена.
Удалось подцепить лог к базе на другом сервере и выполнить backup log [<db_name>] to [<backup_device_name>] with no_truncate, init; А затем последовательно восстановить полный бэкап, все бэкапы логов и напоследок бэкап, выполненный из журнала транзакций. Большое спасибо somebody за ссылку на утиллиту. Надеюсь, не придется воспользоваться. )) |
|