Sql-Server

虛擬日誌文件 (VLF) 碎片

  • May 3, 2017

我有一個包含 160 個 VLF 的數據庫。如何確定 VLF 是否碎片化?此外,我如何找到碎片的百分比?

我想確認的另一件事:對於 SQL 伺服器虛擬日誌文件中新添加的塊,以下 3 條語句是否總是正確的?

  1. 小於 64MB 和最大 64MB 的塊 = 4 個 VLF
  2. 大於 64MB 且最大 1GB 的塊 = 8 個 VLF
  3. 大於 1GB 的塊 = 16 個 VLF

VLF 完全由 SQL 伺服器在內部管理,我說的是那裡的大小。如果您的數據庫有大量 VLF,這不是一個好兆頭。我猜您將大量 VLF 稱為 VLF 碎片。大量 VLF 可歸因於自動增長設置不適合數據庫的事實可能非常小,並且數據庫必須分配新的 vlf 到達時間它的增長。當然 VLF 尺寸會很小,最終會很多。160 VLF 計數對我來說似乎不是問題。下面的部落格將幫助您進一步了解

http://www.sqlskills.com/blogs/kimberly/transaction-log-vlfs-too-many-or-too-few/

您對 VLF 的大小如何增長是正確的。查看 Jes Borland 的以下影片,了解更多花絮。

SQL Server 的工作原理:日誌文件(影片)

引用自:https://dba.stackexchange.com/questions/69091