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

Откуда:
Сообщений: 2
Кратко о причинах - проблемы с хранилищем привели к потере файла БД. Проверено - файла нет. Лог есть, модель - full.
Есть full backup. Почти свежий, но имея лог, хотелось бы свежее.

Что сделал - пошел стандартно, как учили.

1. Создал бэкап сохранившегося лога:
Создал базу KA на другом сервере, ALTER DATABASE [KA] SET OFFLINE. удалил файлы, залил свой ka_log.ldf
ALTER DATABASE [KA] SET ONLINE, получил свой "Unable to open the physical file" mdf и т.д.
сделал BACKUP LOG [ka] TO DISK = N'D:\Tail.bak' WITH NO_TRUNCATE;

Во время бэкапа было видно, что логу тоже досталось в момент падения базы - было сообщение "BACKUP WITH CONTINUE_AFTER_ERROR успешно сформировал резервную копию поврежденной базы данных. Дополнительные сведения об обнаруженных ошибках см. в журнале ошибок SQL Server."
В журнале - "Backup detected log corruption in database ka. Context is Bad Middle Sector"

2. Восстановил базу из имеющегося бк - RESTORE DATABASE [ka] FROM DISK = N'C:\2016.Bak' WITH NORECOVERY, REPLACE
3. Попытался вернуть лог - RESTORE LOG [ka] FROM DISK = N'D:\Tail.bak' WITH FILE = 1, NOUNLOAD, STATS = 1, NORECOVERY, CONTINUE_AFTER_ERROR

Результат - Произошла ошибка во время обработки журнала для базы данных "ka". Если возможно, восстановите из резервной копии. Если резервная копия недоступна, возможно, понадобится перестроить журнал.

Все. В этом месте я кончился. Нутром чувствую, что должен быть какой-то способ добраться до данных, но не пойму как.
Я застреваю в recovering на полпути.
14 окт 16, 23:10    [19784116]     Ответить | Цитировать Сообщить модератору
 Re: нужна помошь с восстановлением БД  [new]
period
Member

Откуда:
Сообщений: 2
я причем понимаю что надо сделать-то :(

проблема с последовательностью действий

чтобы выполнить ALTER DATABASE dbname SET EMERGENCY нужно выполнить RESTORE DATABASE dbname WITH RECOVERY
чтобы выполнить RESTORE DATABASE dbname WITH RECOVERY нужно выполнить ALTER DATABASE dbname SET EMERGENCY

и?
15 окт 16, 09:47    [19784484]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить