查看 VLF(虚拟日志文件)数量
SQL Server备份与日志命令
-- SQL Server 2016 SP2 / 2017 and later:
SELECT DB_NAME(database_id) AS db,
COUNT(*) AS vlf_count,
SUM(CASE WHEN vlf_active = 1 THEN 1 ELSE 0 END) AS active_vlf
FROM sys.dm_db_log_info(DB_ID(N'Customer'))
GROUP BY database_id;
-- For older versions: DBCC LOGINFO('Customer'); (row count = VLF count)作用
返回事务日志中虚拟日志文件(VLF)的数量。VLF 过多会降低启动/恢复/日志备份性能。
适用场景
日志缓慢或数据库启动耗时较长时;检查日志增长设置时。
注意
数百/数千个 VLF 是警告信号;解决办法是收缩日志,再以适当的大增量(如每次 8GB)重新增长。仅查询;无风险。