SQL Server中120 GB大小数据库的建议VLF文件数是多少?
我很欣赏任何人快速回应。
谢谢,
Govarthanan
答案 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