This script lists file size and how full the data files are for a single Database.
/* DESCRIPTION List space on a single database and location of its files CONFIGURATION Top. Modify the "use" statement Compatibility list: MSSQL2005 MSSQL2008 */ USE Adventure_Works_2012 SELECT b.name , b.type_desc , CAST(b.size/128.0 AS int) 'SizeMB' , CAST(b.size/128.0 - CAST(FILEPROPERTY(b.name, 'SpaceUsed' ) AS int)/128.0 AS int) 'SpaceUsedMB' , CAST(ceiling(100 * (b.size/128.0 -CAST(FILEPROPERTY(b.name,'SpaceUsed' ) AS int)/128.0)/(b.size/128.0)) AS varchar(8)) + '%' 'FreeSpace' , CASE WHEN b.is_percent_growth = 0 THEN LTRIM(STR(b.growth * 8.0 / 1024,10,1)) + ' MB, ' ELSE 'By ' + CAST(b.growth AS VARCHAR) + ' percent, ' END + CASE WHEN b.max_size = -1 THEN 'unrestricted growth' ELSE 'restricted growth to ' + LTRIM(STR(b.max_size * 8.0 / 1024,10,1)) + ' MB' END AS Autogrow , cast(b.max_size/128.0 as int) 'MaxSize' , physical_name FROM sys.database_files b