Afficher le nombre de VLF (Virtual Log File)
SQL ServerSauvegarde et journalCommande
-- 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)Ce que fait la commande
Renvoie le nombre de fichiers journaux virtuels (VLF) dans le journal des transactions. Trop de VLF dégradent les performances de démarrage/récupération/sauvegarde du journal.
Quand l'utiliser
Quand le journal est lent ou que le démarrage de la base est long ; lors de la revue du paramètre de croissance du journal.
Attention
Des centaines/milliers de VLF sont un signal d'alerte ; la solution est de réduire le journal puis de le regrossir par incréments suffisamment grands (par ex. par paliers de 8GB). Requête seule ; aucun risque.
Voir aussi
- Effectuer une sauvegarde du journal des transactions
- Effectuer des sauvegardes FULL et DIFFERENTIAL
- Pourquoi le fichier journal a grossi / pourquoi il ne se tronque pas
- Réduire le fichier journal
- Trouver la plus ancienne transaction ouverte (ACTIVE_TRANSACTION)
- Effectuer une sauvegarde ponctuelle sans rompre la chaîne (COPY_ONLY, striping, débit)