自動的に拡張されたトランザクションの物理的なファイルサイズは、EnterpriseManager等のGUIでは圧縮することが出来ない。しかし、DBCCコマンドにて行える。
※データベースに「シンプル」の設定をしている際は、SQL Server6.5の時と同様、トランザクションログが切り詰められるが、「フル」の場合はトランザクションログのバックアップを実行をするまで増加し続ける。
http://support.microsoft.com/kb/272318?spid=2852&sid=global
DBCC SHRINKFILE を実行すると、SQL Server 2000 はいくつかの仮想ログ ファイルを目的のサイズに到達するまで削除し、ログ ファイルを圧縮します。もし、目的のサイズに到達できない場合は、ダミーのログ エントリーを、ログがログ ファイルの先頭に来るまで最後尾の仮想ログ ファイルに書き込んでいきます。この場合、ログを圧縮するには、以下の追加操作が必要になります。
1. BACKUP LOG コマンドを実行し、ログの非アクティブ部分を削除する。
2. 再び DBCC SHRINKFILE を目的の圧縮サイズを指定して実行する。
--------------------------------------------------------------
次の例は、pubs データベースのログ ファイルを 2MB に圧縮する例です。
1. 次のコマンドを実行 DBCC SHRINKFILE(pubs_log, 2)
注意: もしターゲットサイズに到達しなかった場合は、次のステップを実行します。
2. 次のコマンドを実行 BACKUP LOG pubs WITH TRUNCATE_ONLY
3. 次のコマンドを実行 DBCC SHRINKFILE(pubs_log,2)
--------------------------------------------------------------
以上の操作により、トランザクションログは目的のサイズに圧縮される。