When it comes to resolving table fragmentation, the basic checkout you perform is to run DBCC INDEXDEFRAG or even run DBCC DBREINDEX statements. As per the default configuraiton SQL Database Engine allocates a new extent to an allocation unit only when it cannot quickly find a page in an existing extent with sufficient space to hold the row being inserted. This allocation goes with extents on the filegroup using a proportional allocation algorithm, that means if that filegroup with multiple fils...(
read more)
Read the complete post at http://sqlserver-qa.net/blogs/tools/archive/2007/09/04/dbcc-extentinfo-unused-pages-in-these-extents-undocumented.aspx