- 締切済み
トランザクションの肥大化
Windows2003+SQL-Server2005でシステムを構築しておりますが、トランザクションログの肥大化に悩んでおります。 ファイルサイズが80Gb(空き容量88%)のDataBseを完全Backupすると300Gbを超えるサイズとなってしまいます。 トランザクションファイルのサイズが300Gbを超えておりますので、これが原因だと考えておりますが、定期的にトランザクションのBackupを実施しても全く(トランザクションFの)空き容量が減りません。 復旧モードを単純に変更してみたのですが、状況は変わらずトランザクションファイルがじりじり肥大化しています。 他のDBとのレプリケーションを実施しており、パブリッシャ側でDBの再構築を実施すると一気にトランザクションのサイズが増加するので、レプリケーションの設定を見直しておりますが、問題点を発見する事ができない状態です。 レプリケーションを含めDB動作には全く問題がないのですが、このままの状態では遠からずDisk容量不足が発生してしまいます。 何かお心当たりがございましたら是非ご教授頂きたく、よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
お礼
ご回答ありがとうございます。 トランザクションをバックアップしたファイルのサイズは、トランザクションファイルのそれを下回っております。 つまり、切捨ての対象となるトランザクションの件数はそれほど多くないという事なのです。 Management Stadioで確認しても、(トランザクションログの)空き領域は数%と表示されますので 圧縮されないのは当然だとは思っております。 しかし、SELECT @@trancountを発行しても結果は0件という事ですので、Activeなトランザクションが存在する訳でもないのです。 概算値ですが、今現在は DBファイル 80Gb(完全バックアップは300Gb) Trnファイル 300Gb という状況となっております。 引き続き、よろしくお願いいたします。
補足
MSのサポートとやり取りを繰り返し、トランザクションログの肥大化の原因が判明しました。 今回、システム改善に伴いSQL-Server7から2005へアップグレードすると同時にDBを二分割したのですが、当該Databeseのコンバート時に何らかの理由によりレプリケーション設定がクリアされず、もはや存在しないサブスクライバ向けのレプリケーションデータを作っていたようです。 不要なレプリ設定をクリアするべく色々トライしてみましたが、思わしい結果が得られず、結局DBを再作成する事と致しましたので回答を締め切らせて頂きます。 回答者の皆様には色々アドバイスを頂き、ありがとうございました。