この記事では、Microsoft®SQLServer®で使用できる3つの異なるデータベースリカバリモデルの概要を説明します。また、最も一般的なバックアップオプションについても簡単に説明します。リカバリモデルは、さまざまなリカバリオプションとさまざまなトランザクションログを提供し、ユーザーはいつでもモデルを切り替えることができます。新しいリカバリモデルに変更する場合は、差分バックアップとログバックアップを作成する前に、常にデータベースの完全バックアップを作成する必要があります。
SQL Serverデータベースの一般的なバックアップオプションには、次のタイプがあります。
-
データベースの完全バックアップ :名前が示すように、これはデータベース全体とトランザクションログの一部のバックアップです。このバックアップを使用すると、完全バックアップのみからデータベースを復元できます。イベントビューアは、このバックアップをデータベースバックアップとも呼びます。
-
差分データベースのバックアップ :最新の完全データベースバックアップに基づいて、このバックアップには、最後の完全バックアップ以降にデータベースに加えられたすべての変更が含まれます。
-
ログバックアップ :このバックアップは、最後のログバックアップ以降のすべてのログを含むトランザクションログファイルを対象としています。ログバックアップにより、障害が発生した場合のデータ損失を最小限に抑えることができます。
このセクションでは、リカバリモデルについて説明します。
単純な回復モデルは最も基本的なモデルであり、3つのモデルの中で最小限の管理しか必要としません。
- データベースの完全バックアップと差分バックアップのみをサポートし、ログバックアップはできません。
- 障害が発生した場合、最後の完全バックアップまたは差分バックアップ以降に行われたすべての変更が失われます。
- このリカバリモデルを本番データベースに使用しないでください。
- システムは新しいデータポイントをトランザクションログファイルに書き込みます。ただし、データをファイルに書き込んだ後、システムはそのスペースを再利用できます。したがって、トランザクションログファイルが無期限に大きくなることはなく、いっぱいになることもありません。
- 利点 :管理作業が少ない
- 短所 :データ損失のリスク
フルリカバリモデルを使用すると、データを失うことなく特定の時点に復元できます。データを失うことなく確実にリカバリを成功させるには、トランザクションログのバックアップを使用してください。
- トランザクションログファイルには、すべてのトランザクションデータが保存されます。
- ログファイルは、ログバックアップが完了するか、ログファイルが切り捨てられるまで大きくなります。したがって、ログファイルが無期限に大きくなるのを防ぐために、トランザクションログのバックアップを設定する必要があります。
- トランザクションログが破損した場合、最後の完全バックアップまたは差分バックアップ以降のすべての変更が失われます。
- 利点 :ポイントインタイムの復元をサポートし、障害が発生した場合のデータ損失はありません
- 短所 :より高い管理努力
バルクログリカバリモデルを使用して、大規模なバルクコピー操作を実行します。完全復旧モデルと同様に、bulk-logはログバックアップを使用します。
- このモデルは、トランザクションをトランザクションログファイルに書き込むときに最小限のログを使用します。これにより時間とディスク容量を節約できますが、最小限のログでポイントインタイムの復元を防ぐことができます。
- 最新のトランザクションログに一括操作が含まれていない限り、特定の時間に回復できます。
- ログファイルが無期限に大きくなるのを防ぐために、トランザクションログのバックアップを設定する必要があります。トランザクションログが破損すると、最後の完全バックアップまたは差分バックアップ以降のすべての変更が失われます。
- 利点 :最小限のロギングにより、大量の一括操作が可能になります
- 短所 :管理作業が増え、特定の時点での復元が制限される