DBAtlas · データベース運用アトラス

VLF (Virtual Log File) の数を表示する

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 単位) で再拡張することである。照会のみでリスクなし。

DBAtlas で開く →

関連項目