We can have more than one log file for a database. However, in many cases a single log file suffices. Logically, a log file is divided into a number of virtual log files. The virtual log file concept allows SQL Server to manage various operation on the log file, including checkpoints, various phases of revovery like Analysis, Undo & Redo. With the help of Virtual Log Files (VLFs), potions of the Log file is marked as Active, Recoverable, Reusable & Unused. The number of VLFs range between 2 to 16. I haven’t seen a Database with more than 16 VLFs. When a log file grows and when it is shrunk, it is always in units of VLFs. We can observe the virtual log file using SQL Server DBCC LOGINFO statement.