none
SQL Serverのトランザクションログについて RRS feed

  • 質問

  • SQL Serverについて、初心者のものです。

    SQL Serverでよく耳にするディスク圧迫やログ肥大化はトランザクションログが原因だと認識していますが、

    データベースのフルバックアップ/差分バックアップ時にトランザクションログのバックアップを行えば、

    ディスク圧迫やログ肥大化は解消されるのですか?

     

    2011年11月25日 11:49

回答

  • どちらかというとトランザクションログのバックアップを頻繁に取ることで解消します。
    完全復旧モデルでのトランザクションログはバックアップを取らない限り、
    ログ領域の再利用ができません。そのため、バックアップ期間が長いと、
    自動拡張によるディスク圧迫が起きることがあります。
    復旧モデルを単純にすることでログバックアップは不要となりますが、
    長時間終わらないトランザクションがあると、そのトランザクションが
    ログ領域を使い続けるため、場合によっては大きくなるケースもあります。

    また当然ですが、データも消さなければデータファイルは大きくなります。

    http://technet.microsoft.com/ja-jp/library/ms175495.aspx

    • 回答としてマーク Ubuntu_kaji 2011年11月28日 14:47
    2011年11月27日 11:14
    モデレータ
  • ご認識の通り、完全復旧モデルでログバックアップを行えば、ログ領域は再利用されます。
    ログファイルの空き領域を圧縮すればファイルサイズそのものが小さくなりますが、
    自動拡張が有効であれば結局必要なサイズまで拡張します。
    ですので、大きくなりすぎないようにログファイルサイズとログバックアップ間隔を
    設計する必要があります。
    • 回答としてマーク Ubuntu_kaji 2011年11月28日 14:46
    2011年11月28日 13:10
    モデレータ

すべての返信

  • どちらかというとトランザクションログのバックアップを頻繁に取ることで解消します。
    完全復旧モデルでのトランザクションログはバックアップを取らない限り、
    ログ領域の再利用ができません。そのため、バックアップ期間が長いと、
    自動拡張によるディスク圧迫が起きることがあります。
    復旧モデルを単純にすることでログバックアップは不要となりますが、
    長時間終わらないトランザクションがあると、そのトランザクションが
    ログ領域を使い続けるため、場合によっては大きくなるケースもあります。

    また当然ですが、データも消さなければデータファイルは大きくなります。

    http://technet.microsoft.com/ja-jp/library/ms175495.aspx

    • 回答としてマーク Ubuntu_kaji 2011年11月28日 14:47
    2011年11月27日 11:14
    モデレータ
  • ElanLilacさん

    返信ありがとうございます。

    トランザクションログはたとえば、10MBのディスク領域を使っていて、

    バックアップを取れば、その10MB内の領域内で1から再利用する動作ということでしょうか?

    それで、ログの切り捨て(?)/ログの圧縮を行えばディスク領域を空けてくれるという動作でしょうか?

    2011年11月28日 7:13
  • ご認識の通り、完全復旧モデルでログバックアップを行えば、ログ領域は再利用されます。
    ログファイルの空き領域を圧縮すればファイルサイズそのものが小さくなりますが、
    自動拡張が有効であれば結局必要なサイズまで拡張します。
    ですので、大きくなりすぎないようにログファイルサイズとログバックアップ間隔を
    設計する必要があります。
    • 回答としてマーク Ubuntu_kaji 2011年11月28日 14:46
    2011年11月28日 13:10
    モデレータ