データベースといえばデータ命である。DBMSによって若干異なるが、データを保全する仕組みがあることが多い。
SQL Server ではその保全レベルに応じ、トランザクションログの扱いが異なる3種類の復旧モデルがある。この復旧モデルは、テーブル単位ではなくデータベース単位で設定する。
・単純復旧モデル
トランザクションログは確保されない、と考えて頂いてよいだろう。
用途としては読み取り専用のデータベース。更新が行われるデータベースではこれであればいいだろう。
・完全復旧モデル
トランザクションログファイルにトランザクションとデータの更新履歴を書き込む、真面目な方法である。
一般的に更新が行われるデータベースはこれを用いている。
・一括ログ復旧モデル
通常は完全復旧モデルとそう変わらない。異なるのは一括処理のときのトランザクションログの記録方法で、この復旧モデルの場合では簡単なログしか取得しない。
通常は完全復旧モデルとしているデータベースに、膨大なデータを一括で書き込むときに切り替えて使うのが一般的らしい。一括処理の時のパフォーマンスの向上とログの肥大化を防ぐためのモデルと言える。
これから読み取れることは、読み取り専用データベースは更新の入るデータベースとは分離した方がバックアップの効率という面ではよい、といえるだろう。
SQL Server ではその保全レベルに応じ、トランザクションログの扱いが異なる3種類の復旧モデルがある。この復旧モデルは、テーブル単位ではなくデータベース単位で設定する。
・単純復旧モデル
トランザクションログは確保されない、と考えて頂いてよいだろう。
用途としては読み取り専用のデータベース。更新が行われるデータベースではこれであればいいだろう。
・完全復旧モデル
トランザクションログファイルにトランザクションとデータの更新履歴を書き込む、真面目な方法である。
一般的に更新が行われるデータベースはこれを用いている。
・一括ログ復旧モデル
通常は完全復旧モデルとそう変わらない。異なるのは一括処理のときのトランザクションログの記録方法で、この復旧モデルの場合では簡単なログしか取得しない。
通常は完全復旧モデルとしているデータベースに、膨大なデータを一括で書き込むときに切り替えて使うのが一般的らしい。一括処理の時のパフォーマンスの向上とログの肥大化を防ぐためのモデルと言える。
これから読み取れることは、読み取り専用データベースは更新の入るデータベースとは分離した方がバックアップの効率という面ではよい、といえるだろう。