SELECT DB.name, SUM(CASE WHEN type = 0 THEN MF.size * 8 / 1024 ELSE 0 END) AS DataFileSizeMB, SUM(CASE WHEN type = 1 THEN MF.size * 8 / 1024 ELSE 0 END) AS LogFileSizeMB FROM sys.master_files MF JOIN sys.databases DB ON DB.database_id = MF.database_id GROUP BY DB.name ORDER BY DataFileSizeMB DESC SELECT D.name, F.Name AS FileType, F.physical_name AS PhysicalFile, F.state_desc AS OnlineStatus, CAST((F.size*8)/1024 AS VARCHAR(26)) + ' MB' AS FileSize, CAST(F.size*8 AS VARCHAR(32)) + ' Bytes' as SizeInBytes FROM sys.master_files F INNER JOIN sys.databases D ON D.database_id = F.database_id ORDER BY D.name