Sql-Server
使用百分比的事務日誌空間 - 如何清除或清空
我正在嘗試了解有關事務日誌的更多資訊,我認為這是許多進行數據修改的儲存過程(用於報告)的瓶頸。
所以我在下面嘗試:
select * from sys.dm_db_log_space_usage; update dbo.A set col1 = 'hello' where id < 500000; select * from sys.dm_db_log_space_usage;
所以現在使用的日誌文件是 1.8%。我怎樣才能清除它?我想當事務是
committed
它重置為“零”(“它”是指使用的事務日誌的百分比)。我試過“檢查點”,但沒有幫助。
日誌文件在內部分為幾個虛擬日誌文件。使用百分比基於此。例如,如果您有 4 個大小相同的 VLF,則使用率永遠不會低於 25%。總是有日誌的頭部並且 VLF 正在使用中。
即使只使用一個 VLF,百分比也可能不同,因為同一個 ldf 文件中的 VLF 可以具有不同的大小。
DBCC LOGINFO 將告訴您哪些 VLF 正在使用中。狀態欄。2 表示使用中,0 表示未使用。
如果你有多個 VLF 在使用,那麼 sys,databases 中的 log_reuse_wait_desc 列會告訴你為什麼SQL Server 有多個在使用。是在等待日誌備份嗎?複製能阻止它嗎?等等。