DBAtlas · Atlas d'exploitation des bases de données

Afficher le nombre de VLF (Virtual Log File)

SQL ServerSauvegarde et journal

Commande

-- 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.

Ouvrir dans DBAtlas →

Voir aussi