none
SQLSERVER2008R2 expressのトランザクションログ肥大化について RRS feed

  • 質問

  • はじめまして。
    SQL SERVER 2008 R2 Express版について、トランザクションログの肥大化が起こっています。
    トランザクションログの最大サイズは、デフォルトで460MBです。

    はじめに、データベースの容量が full となり vCenter Server が停止しておりました。
    (Express版の10GB制限に引っかかったためです)
    その後、DBパージ処理を実行し、DBを小さくしたのですが、
    その数時間後、トランザクションログのFULLエラーが発生しました。

    <エラー内容>
    The transaction log for database 'VIM_VCDB' is full. To find out why space in the log cannot be reused,
    see the log_reuse_wait_desc column in sys.databases

    次の対処として、460MBを越えた状態だったので、一旦、縮小したのですが、その後、再び460MBを越えました。

    データベースの「プロパティ」→「オプション」→「復旧モデル」の値は、「単純」となっております。
    ですので、トランザクションログのバックアップを行っても対応できないのではないかと思っています。
    トランザクションログの切捨てについても、自動で行われると思うのですが、何も行っておりません。

    チェックポイントなどの実行も行っていない状態です。

    このままだと、縮小を行っても、どこまで増えるのか判らない状況です。

    どなたか対処方法がお分かりにならないでしょうか。
    ご回答の程、宜しくお願い致します。

    • 種類を変更済み 佐伯玲 2015年10月30日 5:58 全般的な情報交換 から 質問 へ変更
    • 移動 佐伯玲 2015年10月30日 5:58 Windows Server 2008 から SQL Server へ
    2015年10月30日 5:24

回答

すべての返信

  • こんにちは、あああいいううう さん
    フォーラムオペレータの佐伯 玲 です。

    ご質問内容から「SQL Server」フォーラムのほうが情報が得られやすいかと思いますので後ほど私のほうからスレッドを移動させていただこうかと思います。

    また現在スレッドの形式が「全般的な情報交換」形式になっておりますが「質問」形式へと変更させていただきますね。
    「全般的な情報交換」形式は明確な回答がなく広く意見を募る際にご利用いただく形式で
    トラブル等があり解決を目指すようなご質問には「質問」形式が適しております。

    「質問」形式では解決に至った際に「回答としてマーク」を設定してスレッドのステータスを解決済みとすることが出来ますので
    ご参考になる情報が寄せられた際には設定のほうをお願い致しますね。

    宜しくお願い致します。

    TechNet Community Support 佐伯 玲

    2015年10月30日 5:52
  • ありがとうございます。

    宜しくお願い致します。

    2015年10月30日 5:56
  • 少し検索してみましたが、以下の記事が見つかりました。vCenterの経験はないので外していたらごめんなさい。
    なお、復旧モデルが単純であれば自動的にトランザクションログは切り捨てられますので、その前に溢れている状況なのでしょうかね・・・??

    Fix “Transaction log for database ‘VIM_VCDB’ is full” errors
    http://www.rivnet.ro/2010/04/fix-transaction-log-for-database-vim_vcdb-is-full-errors.html

    460MBから2Gに変更しているようです。また、Statistics Levelsも変更しているようです。

    (参考)Changing your vCenter logging level using the webclient
    http://frankdenneman.nl/2012/10/05/changing-your-vcenter-logging-level-using-the-webclient/


    ★良い回答には回答済みマークを付けよう! MVP - .NET  http://d.hatena.ne.jp/trapemiya/

    2015年10月30日 7:03
  • ご回答、有難う御座います。
    トランザクションログの拡張については、
    Express版の方が、ハード制限があるため
    460MB以上には、しない方が良いとの事です。
    Standard版であれば、問題ないとの事でした。
    実際に検証環境で行った場合は、拡張できたのですが
    保障されないと聞いておりますので、
    本番環境では、行わない方が良いと思っています。

    ただ、この情報が正しいのか正確に判らないため
    どなたか、教えていただければと思っています。


    後、VMWAREの統計情報のログに関しては、
    SQLServerのトランザクションログに書かれる事は無いかと思い、
    少し関係ない気がしております。


    その他、調べた結果、
    復旧モデルが単純であれば自動的にトランザクションログは切り捨てられますので、
    その前に溢れている状況だと思いますので、
    キャッシュされているトランザクションログをクリアする方が良いと
    言うところまできています。
    方法としては、checkpointコマンドの実行で良いか?、
    SQLServerサービスの再起動だと、どのサービスなのか?、
    など、
    その他、良い方法は、ないでしょうか。

    検証環境で、同様の再現はできない状況です。

    宜しくお願いいたします。

    ーーーーーーーーーーーー
    調査していたら、以下のサイトが見つかりました。

    http://blogs.msdn.com/b/jpsql/archive/2013/07/30/manegement-studio-ldf.aspx

    ・実行中のトランザクションがある場合
    ・CHECKPOINT が実行されていない場合

    上記を試してみようと思います。
    何かアドバイスがありましたら、宜しくお願いします。


    2015年10月31日 1:52
  • MSサポートの回答から、Express版でも拡張可能との回答を得ました。

    これで、対応可能のようです。

    有難う御座いました。

    2015年11月6日 19:08