|
||
SQL Server の復旧モデルとバックアップについてSQL Server でデータベースのバックアップを計画する際に重要となるのが、復旧モデルです。 SQL Server の復旧モデルには、 ・単純 ・完全 ・一括ログ の3つが存在しています。 一括ログについては特殊な場合に利用する場合が多いため、ここでは説明を割愛します。 ●単純復旧モデル 単純復旧モデルでは、トランザクションログの内容(操作によって変更された内容等)を、 チェックポイントによってデータファイルに書き込みが完了した時点で不要と判断し、 ログ領域は自動的に再利用されます。(つまり変更された内容等は消えていきます) そのため、トランザクションログのバックアップを取得することはできません。 また、トランザクションログがないため、復旧できるのは完全または差分バックアップを 取得した時点のみであり、特定の時点に復旧することもできません。 復旧の要求としてバックアップを取得した時点まで復旧できれば良いだけであれば、 トランザクションログの管理が基本的に不要であるため、 単純復旧モデルを検討するのも良いかと思います。 [単純復旧モデルを用いたバックアップの例] <クリックすると拡大表示します> 上記の例では、"1/5 10:00"の直後で障害が発生した場合、"1/5 2:00"の時点となります。 復旧としては、完全バックアップの"F2"および、差分バックアップの"S3"を復旧します。 また、"1/4 15:00"の時点といった特定の時点に復旧することもできません。 ("1/4 2:00"や、"1/3 2:00"といったバックアップを取得した時点であれば復旧可能) ●完全復旧モデル 完全復旧モデルでは、トランザクションログの内容(操作によって変更された内容等)を、すべて保持します。 そのため、トランザクションログはデータベース操作により増え続けます。 トランザクションログはトランザクションログのバックアップにより切り捨てられますので、 完全復旧モデルにした場合は、データベースのバックアップのほかに トランザクションログのバックアップを取得する必要があります。 また、トランザクションログにより、完全または差分バックアップを取得した時点だけでなく、 特定の時点に復旧することが可能です。 (ログ末尾のバックアップが可能な場合は障害発生直前まで復元することが可能) 特定の時点への復元や障害発生直前まで復元したい場合には完全復旧モデルを検討します。 [完全復旧モデルを用いたバックアップの例] <クリックすると拡大表示します> 上記の例では、"1/5 10:00"の直後で障害が発生した場合、 ログ末尾のバックアップが取得可能であれば、"1/5 10:00"の時点に復旧できます。 復旧としては、完全バックアップの"F2"および、差分バックアップの"S3"を復旧します。 その後、ログ末尾のバックアップである"L7"を復旧します。 また、"1/4 15:00"の時点といった特定の時点に復旧することも可能です。 【補足】 トランザクションログの内容は、単純復旧モデルであれば自動的に、 完全復旧モデルであればトランザクションログのバックアップ時に、 再利用可能な領域となりますが、物理的なファイルサイズは縮小しません。 単純復旧モデルであっても一回のトランザクションで大量の変更処理をすると、 トランザクションログのファイルサイズはかなり増えます。 ※トランザクションログの自動拡張が有効になっている場合です (自動拡張でない場合は指定ファイルサイズを超えた時点でエラーになると思います) 物理的なファイルサイズを縮小する場合は、トランザクションログを圧縮する必要があります。 (完全復旧モデルの場合は、トランザクションログのバックアップ後) |
<<PR>>
価格:300円 価格:300円 |