Вопрос

Проблема в следующем:

t0: Insert is made into my database
t1: Delete is executed
t2: Full backup is made
t3: Transaction log backup is made

Как я могу восстановить удаленную запись после t3 (который сейчас)?Я хочу, чтобы база данных находилась в состоянии между t0 и t1.Уровень журнала был полным.

Редактировать:Я уже запускал DBCC LOG(DB-Name, 3), но журнал, похоже, обрезан.Всего 10 предметов, хотя их наверняка тысячи.

Это было полезно?

Решение

Чтобы воспроизвести журнал, вы всегда начинаете с полного журнала, применяете различия, а затем резервные копии журнала.Временная шкала всегда идет вперед от полной резервной копии, а не назад.Итак, чтобы перейти в состояние после t0 (т.восстановить удаленную запись) вы начинаете с полной резервной копии, которая была сделана до t0, а затем примените резервные копии журнала с остановкой в ​​t0.

Другие советы

Хотя это и не идеальное решение, вы можете попробовать восстановить резервную копию базы данных в отдельную базу данных, сравнить базы данных и внести необходимые изменения вручную.

Другой способ — использовать стороннюю программу чтения журнала транзакций, например Журнал ApexSQL.

Лэнс,

Журнал транзакций не предназначен для просмотра транзакций.Это не совсем такой журнал.Кроме того, когда вы делали резервную копию журнала транзакций, это привело бы к усечению файла журнала, поскольку информация была зарезервирована в файл.

Также стоит отметить, что когда вы переводите базу данных в модель полного восстановления, она фактически остается в простом режиме до тех пор, пока вы не выполните полное резервное копирование базы данных.Следовательно, если до момента t0 не было создано резервное копирование, вы не сможете вернуться в это состояние.

Роб

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top