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

Восстановить удаленные строки из файла журнала транзакций SQL Server

Мне нужно восстановить удаленные данные из файла журнала транзакций SQL Server 2000. Размер файла журнала составляет 3,3 ГБ. Я попробовал обычное спасение журнала SQL, но он продолжает вылетать из-за исключения outOfMemory. Я также пробовал на разных машинах с той же ошибкой.

Я пробовал ApexSQL Recover, вроде работает, но это пробная версия, поэтому отображается только каждая 10-я строка. У меня может не быть другого выбора, кроме как выложить 999,00 за этот инструмент, если я не могу найти более дешевое решение.

Любые идеи?

ИЗМЕНИТЬ - Если я попытаюсь восстановить из резервной копии, а затем воспроизвести файл журнала, могу ли я восстановить резервную копию в другой базе данных (новой) на том же сервере?

Когда произошло удаление? у вас есть резервные копии журналов за этот период? Можете ли вы восстановить всю базу данных до известной точки восстановления? Были ли в базе данных другие транзакции, которые вам нужны?

Если произошли другие транзакции (что немного сложнее), восстановите последнюю полную заднюю часть базы данных в новом месте и примените журналы транзакций по порядку. Использовать ОСТАНОВИТЬ НА до того момента, когда данные были удалены, и перевести базу данных в оперативный режим.

Теперь вы должны удалить данные в своей базе данных. Теперь вы можете сгенерировать операторы вставки, чтобы вставить недостающие записи обратно в действующую базу данных. Если схема сложная (т.е. более нескольких изолированных таблиц), будет полезен инструмент, такой как Сравнение данных RedGate. Вы можете установить полнофункциональную пробную версию, чтобы провести одноразовое сравнение восстановленной базы данных и рабочей среды.

РЕДАКТИРОВАТЬ: Да, восстановить базу данных с другим именем базы данных и использовать параметр MOVE, чтобы указать другое физическое местоположение для файлов данных при использовании T-SQL. В EM на вкладке параметров измените восстановить как имена файлов.