現在オフラインです。再接続するためにインターネットの接続を待っています

[INFO] SQL トランザクション ログが切り捨てられない原因

概要
この資料では、[チェックポイント時のログ切り捨て] オプションがオンにされていて、処理中にチェックポイントが定期的に実行される場合でも、トランザクション ログが切り捨てられずにいっぱいになる理由について説明します。
詳細
更新に制限がない場合、つまり、UPDATE ステートメントに WHERE 句がない場合、ログがいっぱいになります。トランザクション (ユーザーが宣言したトランザクションまたは暗黙的なトランザクション) は、完全にロールバックできるか、全体をコミットできる必要があるため、ログのサイズはトランザクションに関するすべての情報を保持できるだけの十分な大きさが必要です。したがって、ログを切り捨てる設定を使用する場合でも、1 つのトランザクションが非常に大きく、ログがそれに対応できないと、ログがいっぱいになることがあります。

また、WHERE 句が使用されていても、テーブルのサイズが非常に大きく、WHERE 句が一般的すぎる場合には、多数のレコードが対象となるため、この現象が発生することがあります。この現象が発生するもう 1 つの事例は、複数の更新が実行される場合です。その際、チェックポイント処理が完了する前に、ログがすべて使用されるほどの多数のレコードが対象となる場合、ログがいっぱいになる可能性があります。
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 62866 (最終更新日 2003-05-21) を基に作成したものです。
Windows NT
プロパティ

文書番号:62866 - 最終更新日: 05/04/2004 20:29:24 - リビジョン: 4.1

Microsoft SQL Server 4.21a Standard Edition, Microsoft SQL Server 6.0 Standard Edition, Microsoft SQL Server 6.5 Standard Edition, Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 2000 Standard Edition

  • kbinfo kbother KB62866
フィードバック