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.

  • Fearing recursion in upon delete rows with foreign keys
  • How to pivot rows into colums dynamically SQL Server
  • Finding duplicate in SQL Server Table
  • Blank values in Date column returning as 1900/01/01 on running SELECT statement
  • How can I delete the columns in DataFlow Task in SSIS?
  • Recursive SQL Server query
  • 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.