Назад | Перейти на главную страницу

Аварийное восстановление для SQL 2008 только с файлом журнала

Когда вы это читаете, вы можете заплакать ...

Мы написали приложение для интрасети SharePoint для одного из наших клиентов, которое отслеживает файлы и управляет ими с помощью различных уровней утверждения. В период с 11 по 15 декабря случайно удалили несколько файлов, содержащих важные данные. Они заметили, что файлы пропали, и позвонили нам. У них есть местная компания, которая отвечает за управление их серверами, поэтому мы связались с ними и попросили предоставить самую последнюю резервную копию. В комнате воцарилась оглушительная тишина, когда они сказали нам, что они тщательно настроили ночное резервное копирование в точном соответствии с планом аварийного восстановления, но только сейчас поняли, что они никогда не запускали этот процесс! Вот это да...

Я пытаюсь восстановить данные, если возможно. Последнее резервное копирование было выполнено вручную в конце октября перед установкой дополнительной функции, запрошенной клиентом. Мы откатились к тому времени и восстановили некоторые данные, но все, что было сделано с октября, по-прежнему отсутствует.

Когда был настроен SQL, режим восстановления базы данных был установлен на ПОЛНЫЙ. У меня есть файл .MDF размером 4 ГБ и файл журнала (.LDF) размером около 20 ГБ. У меня нет резервной копии .TRN. Когда я пытаюсь восстановить до 10 декабря, он полностью откатывается до октябрьской резервной копии. Сервер - это Windows Server 2008 R2 Standard, работающий под управлением MOSS 2007 и SQL 2008. Как я сказал выше, я немного не в своей тарелке. Я расспрашивал, и большинство людей, с которыми я разговаривал, думают, что это возможно чтобы восстановить недостающие данные из файла журнала, но никто, с кем я разговаривал, на самом деле не знает, как это сделать. Помогите мне ServerFault, ты моя единственная надежда!

Можно ли выполнить восстановление на определенный момент времени только с файлом журнала? Если да, то как?

Я считаю, что люди, с которыми вы говорили, имеют в виду восстановление базы данных из резервной копии журнала транзакций, а не из самого журнала транзакций. AFAIK, невозможно восстановить базу данных только из журнала транзакций. Что вы можете попробовать (пока кто-то здесь с более глубокими знаниями SQL не ответит), это закрыть SQL Server, сделать копию файлов mdf и ldf и поместить копии в безопасное место, перезапустить SQL Server, выполнить журнал транзакций backup и попытайтесь восстановить базу данных из этой резервной копии, используя последнюю резервную копию базы данных и эту резервную копию журнала. Если для журнала транзакций никогда не выполнялось резервное копирование, то созданная вами резервная копия журнала транзакций должна содержать все данные, отсутствующие между последним резервным копированием базы данных до настоящего момента.

http://msdn.microsoft.com/en-us/library/ms177446.aspx

Я никогда этим не пользовался, но Журнал Apex SQL имеет бесплатную загрузку и может решить вашу проблему.