SQL DBA にとって最悪の悪夢は、自身のミスによるデータの損失です。
DELETE クエリや UPDATE クエリの実行時に WHERE 句を不適切に実行したり、完全に忘れたりすることは珍しくありません。その結果、数百万行のデータが侵害される可能性があります。
では、どの SQL Server データ回復オプションが利用できるのでしょうか?
一般的な解決策としては、災害の直前に作成されたバックアップを使用することが考えられます。
しかし、現実には以下のような状況になることがあります
- ミスが十分に早期に発見されなかった
- 最後のデータベース バックアップの作成と、誤ったクエリの実行の間にデータ変更があり、リカバリが複雑になった
- 新しいデータが流入
- データベースのバックアップが定期的に十分に行われていなかったか、まったく行われていなかった
ApexSQL Log は、トランザクション ログ データを読み取り、トランザクションを元の状態にロールバックすることで失われたデータベース データを回復できる SQL Server 回復ツールです。
ApexSQL Logを使用して、誤った UPDATE 操作により失われたデータベースデータを回復するには
- ツールを起動してデータベースに接続します
- ウィザードのデータ ソースの選択ステップで、読み取るトランザクション ログ バックアップと分離されたトランザクション ログを追加します。
- ウィザードの次のステップで、「結果をグリッドで開く」オプションを選択します。
- フィルター設定オプションを使用して、時間、操作タイプ、テーブル名、ユーザー、およびその他のフィルター オプションを使用して結果セットを絞り込みます。
- すべてのオプションを設定したら、「完了」をクリックします
- トランザクションはアプリケーションのメイン グリッドにリストされます。左側のペインのフィルターを使用して、不要なトランザクションをさらに削除することもできます。
- データ回復を実行するには、ロールバックするトランザクションをチェックインし、[アクション] タブで [元に戻す] をクリックします。
スクリプト エディタからスクリプトを実行するには、[実行] ボタンをクリックするか、F5 キーを押すと、失われたデータがデータベースに復元されます。
したがって、意図せずに UPDATE を使用した場合でも、多くの場合、 ApexSQL Logを使用して、失われたデータベース データを回復できることを覚えておいてください。