0

誰かがアドバイスできるかどうかを明確にしたかっただけです:

最初に 4GB に設定されたトランザクション ログ ファイルがあり、自動拡張が 10% ずつ設定されているとします。現在、トランザクション ログは 40 GB に増加しています。

質問: トランザクション ログのバックアップは、完了すると tlog を切り捨てますか? つまり、tlog は 4GB または 40GB に戻ります (ただし、現在は 36GB を再利用できます)。

よろしく

4

2 に答える 2

0

いいえ、ファイルは再利用され、本質的に循環しているため、縮小することはありません。メインの .ldf (トランザクション ログ ファイル) は、仮想ログ ファイルまたは VLF と呼ばれる小さなファイルで構成されます。これらは、空の場合、LDF の内部で再利用されます。すべての VLF がいっぱいになると、LDF ファイルの末尾に新しい VLF が追加され、ログ ファイルが大きくなります。そのため、パーセンテージの自動拡張を行うことで、おそらくログ ファイルの断片化が発生し、パフォーマンスが低下する可能性があります。

コマンド DBCC LOGINFO を実行すると、メイン ファイル内のすべての仮想ログ ファイルのステータスを含む結果セットが得られます。これらの VLF は基本的に繰り返し使用されます。本質的に円形であることを忘れないでください。

そのため、トランザクションを開始すると VLF に書き込まれ、コミットされると VLF で完了としてマークされます。すべてのチェックポイントで単純復旧モードでデータベースを実行している場合、これらのコミットされた VLF ファイルはクリーンアップされ、再利用できるようになります。データベースが他の復旧モードにある場合、これらの VLF はコミットされてもクリーンアップされません。トランザクション ログ バックアップを実行すると、これらの VLF はトランザクション ログ バックアップに書き込まれ、消去されます。これは、トランザクション ログ ファイルがコミットされたトランザクションを再生できる方法です。

ただし、これらの VLF を含む LDF ファイルは圧縮されません。次のブログを読むことをお勧めします。これは、トランザクション ログを本当に理解するための素晴らしい場所です。

http://www.sqlskills.com/blogs/kimberly/8-steps-to-better-transaction-log-throughput/

これについては非常に詳細な記事がいくつかありますので、上記のリンクを読んでください。

于 2013-08-07T06:34:02.623 に答える
-2

いいえ、それはしません。バックアップはログを切り捨てません。縮めてみた?

于 2013-08-07T06:06:06.643 に答える