SSブログ

SQL Server 2008 の復旧モデルとトランザクション ログの肥大化

SQL Server のトランザクションログは、復旧モデルによって変化し、完全モデルでは肥大化する

復旧モデルは、
   完全
   一括ログ
   単純
があり、復旧モデルの確認/変更は、データベースのプロパティで実行する
SQLコマンドラインでは、ALTER DATABASE で以下のようにする

   USE master
   ALTER DATABASE [DatabaseName] SET RECOVERY { FULL | BULK_LOGGED | SIMPLE }


完全(Full)モデル(デフォルトの復旧モデル)
   トランザクションログへ、すべての処理履歴を完全に記録する
   このため、障害発生時に、障害が発生した直前まで、あるいは、指定時刻まで、
   データを復旧することができる

一括ログ(Bulk Logged)モデル
   トランザクションログへ記録する処理履歴を最小限に抑える
   一括(bulk:バルク)操作のパフォーマンスを向上を優先する
      インデックスの作成や再構築、
      bcp コマンド、
      BULK INSERT ステートメント、
      Integration Services パッケージ、
      SELECT INTO、
      INSERT INTO など
   このため、障害発生時に、期待通りの復旧ができない可能性がある

単純(Simple)モデル
   チェックポイントが完了するごとに、トランザクションログを切り捨てる
   ログの肥大化を防ぐことができる
   障害発生時に、障害が発生した直前にはデータを復旧できない
   (バックアップを取得した時点までの復旧となる)
   トランザクションログのバックアップもとれない

※ ログの肥大化で、ディスク領域を圧迫している場合、
   完全 から 単純 に切り替えて、バックアップを実行し、ログを切り捨てる

(Windows Server 2008 R2, SQL Server 2008 R2)
 

タグ:SQL
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。