Просмотр всех журналов транзакций в SQL Server 2008 - PullRequest
2 голосов
/ 31 июля 2009

Проблема заключается в следующем:

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 предметов, хотя их должно быть тысячи.

Ответы [ 3 ]

4 голосов
/ 14 мая 2013

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

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

4 голосов
/ 31 июля 2009

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

3 голосов
/ 31 июля 2009

Ланс,

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

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

Rob

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...