• 締切済み

トランザクションの肥大化

Windows2003+SQL-Server2005でシステムを構築しておりますが、トランザクションログの肥大化に悩んでおります。 ファイルサイズが80Gb(空き容量88%)のDataBseを完全Backupすると300Gbを超えるサイズとなってしまいます。 トランザクションファイルのサイズが300Gbを超えておりますので、これが原因だと考えておりますが、定期的にトランザクションのBackupを実施しても全く(トランザクションFの)空き容量が減りません。 復旧モードを単純に変更してみたのですが、状況は変わらずトランザクションファイルがじりじり肥大化しています。 他のDBとのレプリケーションを実施しており、パブリッシャ側でDBの再構築を実施すると一気にトランザクションのサイズが増加するので、レプリケーションの設定を見直しておりますが、問題点を発見する事ができない状態です。 レプリケーションを含めDB動作には全く問題がないのですが、このままの状態では遠からずDisk容量不足が発生してしまいます。 何かお心当たりがございましたら是非ご教授頂きたく、よろしくお願い致します。

みんなの回答

回答No.3

ゴミレスになるかもしれませんが、少々補足を... 圧縮は、即時には反映されません。 どの程度待てば反映されるのかは、私も良く知りませんが、しばらくの後に(最高でも一日)確認してください。 なお、トランザクションログをバックアップして、バックアップしたファイルのサイズがかわらなければ、圧縮してもかわりません。 (バックアップして、バックアップしたサイズが小さくなれば、 圧縮して小さくなる可能性があると思います。)

rru99
質問者

お礼

ご回答ありがとうございます。 トランザクションをバックアップしたファイルのサイズは、トランザクションファイルのそれを下回っております。 つまり、切捨ての対象となるトランザクションの件数はそれほど多くないという事なのです。 Management Stadioで確認しても、(トランザクションログの)空き領域は数%と表示されますので 圧縮されないのは当然だとは思っております。 しかし、SELECT @@trancountを発行しても結果は0件という事ですので、Activeなトランザクションが存在する訳でもないのです。 概算値ですが、今現在は  DBファイル   80Gb(完全バックアップは300Gb)  Trnファイル 300Gb という状況となっております。 引き続き、よろしくお願いいたします。

rru99
質問者

補足

MSのサポートとやり取りを繰り返し、トランザクションログの肥大化の原因が判明しました。 今回、システム改善に伴いSQL-Server7から2005へアップグレードすると同時にDBを二分割したのですが、当該Databeseのコンバート時に何らかの理由によりレプリケーション設定がクリアされず、もはや存在しないサブスクライバ向けのレプリケーションデータを作っていたようです。 不要なレプリ設定をクリアするべく色々トライしてみましたが、思わしい結果が得られず、結局DBを再作成する事と致しましたので回答を締め切らせて頂きます。 回答者の皆様には色々アドバイスを頂き、ありがとうございました。

すると、全ての回答が全文表示されます。
回答No.2

一度大きくなったトランザクションは、圧縮しないと小さくなりませんが、 圧縮はされていますか?

rru99
質問者

お礼

ご回答ありがとうございます。 DB圧縮はメンテナンスプランでも、Management Studioでも実行してみましたが、結果は変わり(圧縮され)ませんでした。 SELECT @@trancountを発行してみても結果は0件ですし、やはりレプリケーションの設定が悪さをしているように感じられます。 引き続き、よろしくお願いいたします。

すると、全ての回答が全文表示されます。
  • E-HR33
  • ベストアンサー率25% (20/78)
回答No.1

バックアップ実行時のオプションとかは問題ないですよね? デフォルトでトランザクションログの切捨てを行わない設定になっている場合があります。

rru99
質問者

お礼

ご回答ありがとうございます。 バックアップ実行時のオプション指定は問題ありません。 引き続き、よろしくお願いいたします。

すると、全ての回答が全文表示されます。

関連するQ&A