SQL Server 2008 File Write Behaviors

Sort of a 101 question: with multiple files in a user defined filegroup, what is SQL Servers behavior when inserting rows? Round robin? Write until full and move on to the next?
I have found some interesting posts regarding tempDb on this subject that suggest round robin, but nothing conclusive.

  • Update all but one of duplicate records in table in SQL Server
  • Is is possible to get new values for Id (IDENTITY) before inserting data in a table?
  • Select Times in a day by Pivot in SQL
  • XML Query Converting Group by field to child elements
  • How to use 2 different database adapters (SQL Server and PostgreSQL) in Rails in the same environment?
  • Single Trigger for multiple events
  • One Solution collect form web for “SQL Server 2008 File Write Behaviors”

    SQL Server uses a proportional fill agorithm to write data to a filegroup with multiple files. That is to say, if your filegroup contains two files, and the first has twice as much free space as the second, the first will receive (roughly) twice as many writes. SQL Server recalculates this ratio on a regular basis, as free file space will of course change with time.

    Here’s a very good discussion on the subject:


    MS SQL Server is a Microsoft SQL Database product, include sql server standard, sql server management studio, sql server express and so on.