質問

問題はこれです:

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ログなどのサードパーティのトランザクションログリーダーを使用することです。

p>

ランス、

トランザクションログは、トランザクションを表示するようには設計されていません。それは本当にそのようなログではありません。さらに、トランザクションログのバックアップを行うと、情報がファイルにバックアップされるため、ログファイルが切り捨てられていました。

データベースを完全復旧モデルにすると、データベースの完全バックアップを実行するまで、実際にはシンプルモードのままになります。したがって、t0より前にバックアップが取られていない場合、その状態に戻ることはできません。

ロブ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top