SQL Server中推荐的VLF文件计数

时间:2017-08-01 17:30:51

标签: sql sql-server

SQL Server中120 GB大小数据库的建议VLF文件数是多少?

我很欣赏任何人快速回应。

谢谢,

Govarthanan

1 个答案:

答案 0 :(得分:1)

有许多关于在SQL服务器中管理VLF的优秀文章;但所有这些的关键是 - 这取决于你!

有些人可能需要非常快速的恢复,并且预先分配大型VLF会更好。

数据库大小和VLF并不真正相关。

您可能拥有一个小型数据库,可能正在进行大量更新。想象一下存储每日股票价值的数据库。它每晚删除所有数据,每天在表格中插入新数据!这将真正创建一个大型日志数据,但可能不会影响mdf文件大小。

这是关于VLF自动增长设置的article。引用重要部分

  

截至2014年,您在创建,增长或自动增长日志时获得的VLF数量的算法取决于相关规模:

     
      
  • 不到1 MB,很复杂,请忽略这种情况。
  •   
  • 最多64 MB:4个新的VLF,每个大小约为增长的1/4
  •   
  • 64 MB到1 GB:8个新的VLF,大约是增长的1/8
  •   
  • 超过1 GB:16个新的VLF,每个大小约为增长的1/16
  •   
     

因此,如果您创建了1 GB的日志并且它以512 MB到200 GB的块自动增长,那么您将拥有8 +((200 - 1)x 2 x 8)= 3192个VLF。 (从最初创建的8个VLF,然后200 - 1 = 199 GB的增长,每个自动增长512 MB = 398个自动增长,每个产生8个VLF。)

恕我直言3000+ VLF并不是一个很大的数字,但令人担忧。因为您对数据库大小有所了解;并且假设您知道通常您的日志大约是数据库大小的n倍。

然后,您可以设置正确的自动增长设置,以使您的VLF保持在您感觉舒适的范围内。

我个人会对10 GB启动设置感到满意,5 GB自动增长。

因此,对于120 GB的日志(n = 1),这将给出16 + 22 * 16 = 368个VLF。 如果我的日志高达500 GB,那么我将有16 + 98 * 16 = 1584个VLF