SQL Server 2005 トランザクション ログの急速な増大を調査していたときに、sys.databases の "log_reuse_wait" 列が 0 に設定されている場合、トランザクション ログが正しく切り捨てられるだけであることがわかりました。これは、トランザクション ログが既存の領域を再利用することを妨げているものがないことを意味します。 .
ある日、ログ ファイルをバックアップまたは切り捨てようとしたときに、この列に 4、つまり ACTIVE_TRANSACTION が tempdb で実行されていることがわかりました。次に、DBCC OPENTRAN('tempdb') と sysprocesses の open_tran 列を使用して、開いているトランザクションをチェックしました。その結果、システムのどこにもアクティブなトランザクションが見つかりませんでした。
log_reuse_wait 列の設定は正確ですか? 上記の方法を使用しても検出できないトランザクションが進行中ですか? 明らかな何かが欠けているだけですか?