Anzahl der VLFs (Virtual Log Files) anzeigen
SQL ServerBackup & LogBefehl
-- 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)Was es tut
Liefert die Anzahl der virtuellen Logdateien (VLFs) im Transaktionslog. Zu viele VLFs verschlechtern die Performance von Start/Recovery/Log-Backup.
Wann einsetzen
Wenn das Log langsam ist oder der Datenbankstart lange dauert; beim Prüfen der Einstellung für das Logwachstum.
Vorsicht
Hunderte/Tausende VLFs sind ein Warnsignal; die Lösung ist, das Log zu verkleinern und in passend großen Schritten (z. B. 8GB-Schritte) wieder zu vergrößern. Nur Abfrage; kein Risiko.
Verwandte Einträge
- Transaktionslog-Backup erstellen
- FULL- und DIFFERENTIAL-Backups erstellen
- Warum die Logdatei gewachsen ist / warum sie nicht gekürzt wird
- Logdatei verkleinern
- Die älteste offene Transaktion finden (ACTIVE_TRANSACTION)
- Ad-hoc-Backup erstellen, ohne die Kette zu unterbrechen (COPY_ONLY, Striping, Durchsatz)