SQL Serverをバックアップする方法としてはいくつかあります。ここでは障害直前まで復旧できるバックアップ方法を解説します。
SQL Serverのバックアップ種類
復旧モデル
SQL Serverでバックアップをする場合、「障害直前まで復旧できるバックアップ」をすべきです。
「ある時点までは復旧できるけれど、それ以降のデータは消えました」ではバックアップの意味がないですからね。
SQL Serverには「バックアップ」の復旧モデルには3種類のモデルがあります。
- 完全
- 一括ログ
- 単純
SQL Serverの3種類の復旧モデルの中で、障害直前まで復旧できるのは「完全」です。復旧モデル「完全」はデータベースをバックアップした時点まで戻し、それ以降はログファイルから復旧します。
「完全」で障害が起きた直前まで戻すことができます。
参照:復旧モデル (SQL Server) | Microsoft Docs
バックアップの種類
バックアップの種類は3種類あります。
- 完全バックアップ
- 差分バックアップ
- トランザクションログバックアップ
「完全バックアップ」は文字通り、データベースをすべてバックアップします。時間はかかりますが、完全なバックアップが可能です。
「差分バックアップ」は前回の「完全バックアップ」からの差分のみをバックアップします。「完全バックアップ」より短時間で完了しますが、一部のデータのみのバックアップとなります。
「トランザクションログバックアップ」はトランザクションログファイルのバックアップです。
参照:バックアップの概要 (SQL Server) | Microsoft Docs
SQL Serverを障害直前まで復旧するバックアップ方法
「障害直前まで復旧できるバックアップ」としては、完全バックアップ+差分バックアップ+トランザクションバックアップが必要となります。
SQL Serverのバックアップスケジュール例
例えば、週に1回完全バックアップ、残りの日は毎日差分バックアップとトランザクションログバックアップをします。
- 日曜日・・・完全バックアップ + トランザクションログバックアップ
- 月曜日~土曜日・・・差分バックアップ + トランザクションログバックアップ
毎日、完全バックアップが理想ですが、時間的に厳しい環境の方が多いと考えます。現実的には週1で完全、残りは差分が妥当です。
このようにバックアップ計画を立てれば、障害直前まで復旧することができます。
例えば、水曜日にSQL Serverに障害が発生したとします。この場合、下記のバックアップファイルで理論上は障害直前まで復旧できます。
- 日曜日の完全バックアップ
- 月曜・火曜・水曜の差分バックアップ
- トランザクションログ
完全バックアップ、差分バックアップを取得するタイミングはデータベースのサイズやシステム環境によってそれぞれ異なります。
上記の例はあくまで1例です。それぞれの環境にあわせてバックアップ計画を立てていくべきです。
以上、SQL Serverを障害直前まで復旧するバックアップの方法でした。
コメント