偶発的または悪意のあるデータ損失が発生した場合は常に、最も適切な回復プロセスを実行し、失われたデータの全範囲を回復するために最も効率的なアプローチを採用することが重要です。また、回復が成功する可能性を最大限に高める適切なツールを選択することも重要です。
インシデント後の正しい手順と復旧プロセスを理解し、復旧計画時に 復旧の可能性を最大限に高めるため、ApexSQL Log と ApexSQL Recover のどちらかを適切に選択します。
データが上書きされたり回復不能に失われたりする可能性を最小限に抑え、回復の成功率を最大化するには
データ損失が発生した場合、データ損失に関する情報は通常、MDF および LDF ファイル内に含まれています。これを念頭に置いて、インシデントが検出された後、できるだけ早くこれらのファイルを保護することが最も重要です。 SQL Server は MDF ファイル内のデータを上書きし、データベースが単純復旧モデルの場合は LDF ファイルも上書きするため、MDF および LDF ファイル内の必要な情報の上書きを防ぐために、これらのファイルのコピーを作成することが重要です。
MDF および LDF ファイルのコピーを作成できるように、まずデータベースをオフラインまたは読み取り専用にする必要があります
注意として、バックアップからのリストアが適切か確認が必要です。
最新の状態まで復旧可能なフルバックアップ、トランザクションログバックアップが完全にそろっていない場合は、バックアップからのリストアは最善の方法ではありません。
データベースのバックアップをリストアすると、リカバリの再構築に使用される MDF および LDF ファイルの情報が上書きされるため、そのバックアップ後に発生したすべてのデータと構造の変更はリカバリできなくなります。
データベース復旧モデル
多くの場合、リカバリが成功するかどうかは、データベースのリカバリ モデルに直接依存します。
データベース復旧モデルが完全の場合、正常に完全に復旧できる可能性が高くなります。
データベースが単純復旧モデルの場合、トランザクション ログ ファイル (LDF) は定期的に上書きされます。つまり、この場合、復旧の実行に使用された情報がすでに失われている可能性があります。
作業に最適なツールの選択
ApexSQL Log と ApexSQL Recover を組み合わせると、DELETE、DROP、TRUNCATE、UPDATE 操作によって発生した望ましくない変更または悪意のある変更によって失われたデータを可能な限りリカバリできます。
DELETE 操作からの回復
データベース内の一部のテーブルに対して意図的でない、または悪意のある DELETE 操作が実行された場合、次の 2 つの回復オプションがあります。
- ApexSQL Recover – このツールは、「元の」データを読み取って回復するために MDF を読み取ります。
- ApexSQL Log – ツールはトランザクション ログ ファイルを読み取り、すべての DELETE 操作を検索します。分析後、ユーザーは不要な DELETE 操作をすべて選択する必要があります。ツールは、これらすべての変更を DELETE 操作が実行される前の元の状態に戻す元に戻すスクリプトを作成します。
UPDATE操作からの回復
ApexSQL Log は、不要な更新を元の状態に戻すために使用されるツールです。不要な DELETE 操作によって発生した不要な変更を元に戻すのと同様に、ApexSQL Logでは、影響を受けた行/値の元の状態を回復する再ロール (UNDO) スクリプトを作成することで、UPDATE 操作を元に戻すことができます。
DROP 操作からの回復
- DROP 操作のリカバリの場合に最良のリカバリ結果が得られる、ジョブに最適なツールは ApexSQL Recover です。このツールは、望ましくない、悪意のある、または偶発的な DROP 操作によって失われた構造とデータの両方を回復できます。
- DROP 操作から回復するもう 1 つの方法は、ApexSQL Logを使用することです。ただし、ApexSQL Logは、DROP 操作によって失われた構造のみを回復できます。
TRUNCATE操作により失われたデータを回復する
TRUNCATE テーブル操作が実行されると、対象のテーブルからすべての行が削除されます。これらの行を回復するには、ApexSQL Recover を使用して、その可能性を最大限に活用し、切り捨てられた行を回復できるようにする必要があります。