SQL Server – Why is Log File Divided into Virtual Log Files?

sql server

In Books Online it is mentioned that the transaction log file is divided into virtual log files internally with no fixed number of count. It says that virtual files are useful while file growth operation but I didn't get it completely. I am curious to know why exactly it needs virtual structure?

Thanks for your time

Best Answer

I believe that some other DBMSs requires several files, to provide for deletion of old log files as they are no longer needed. SQL Server doesn't need that thanks to the subdivision of one ldf file internally into several virtual log files. One can argue which concept one would prefer (several files, or one file with VLFs), but that decision was made for us about the mid ninties (the first version of SQL Server with the current storage architecture was released 1998).