SQL Server 2005で削除操作を元に戻す方法は?
-
03-07-2019 - |
質問
テストデータベースに突然行がありません。戻したいです。
今日データベースに起こったことすべてをふるいにかける方法はありますか?各SQLステートメント?この種のものはトランザクションログにあると推測しますが、表示方法がわかりません。
削除操作を元に戻す方法はありますか?
ところで:はい、バックアップはありますが、削除の原因も見つけたいと思います...
解決
Red Gate のツールを使用してこれを行うことができますが、費用がかかります。 SQL Log Rescue をご覧ください。
それ以外の場合、復元を行いたいと思います。
他のヒント
[答えは遅いが、うまくいけば役に立つ]
トランザクションログを使用して削除された行を回復する方法がありますが、サードパーティのツールを使用し、データベースのみが完全回復モードにある場合のみです。
Dell(以前のQuest)には、 Toad for SQL Server およびApexSQLがあります。 ApexSQL Log および ApexSQL Recover 。t-logの読み取りとデータの復元も可能です。残念ながら、Red GateのLog RescueはSQL Server 2000のログのみを読み取ることができます。
文書化されていないdbcc logコマンドを使用してt-logを読み取る方法もあります。詳細については、こちらをご覧ください。
すでにデータベースのバックアップがある場合は、これらを別のデータベースに復元し、市場に存在する多くのデータ比較ツールのいずれかを使用して、不足しているデータを運用データベースに挿入できます。もちろん、これはバックアップを作成する前のデータ削除のみを回復できます。
これを行うには、サードパーティのツールが必要です。このツールは、トランザクションログにアクセスしてログエントリを表示し、何が起こったかを確認できる必要があります。これらのツールを使用したことはありませんが、まずはRed GateのSQL Log Rescueを試してみます。試してみてください:
ChronicDBを試してみると、Red Gateにお金を払うのではなく、無料版があります
SQL Serverで Rollback
コマンドを使用して、トランザクションを元に戻すことができます。ただし、トランザクションが Begin
トランザクション内で実行された場合、トランザクションをロールバックできることを知っておく必要があります。