Mostrar el número de VLF (Virtual Log File)
SQL ServerBackup y logComando
-- 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)Qué hace
Devuelve el número de archivos de log virtuales (VLF) dentro del log de transacciones. Demasiados VLF degradan el rendimiento del arranque/recuperación/backup del log.
Cuándo usarlo
Cuando el log va lento o el arranque de la base de datos tarda mucho; al revisar la configuración de crecimiento del log.
Precaución
Cientos/miles de VLF son una señal de alerta; la solución es reducir el log y volver a hacerlo crecer en incrementos adecuadamente grandes (p. ej. pasos de 8GB). Solo consulta; sin riesgo.
Relacionado
- Tomar un backup del log de transacciones
- Tomar backups FULL y DIFFERENTIAL
- Por qué creció el archivo de log / por qué no se trunca
- Reducir (shrink) el archivo de log
- Encontrar la transacción abierta más antigua (ACTIVE_TRANSACTION)
- Tomar un backup puntual sin romper la cadena (COPY_ONLY, striping, throughput)