Getting Size Of All Databases In SQL Server

  1. SELECT [Database Name] = DB_NAME(database_id),  
  2. [Type] = CASE WHEN Type_Desc = 'ROWS' THEN 'Data File(s)'  
  3.          WHEN Type_Desc = 'LOG'  THEN 'Log File(s)'  
  4.          ELSE 'Total Size' END,  
  5. [Size in MB] = CAST( ((SUM(Size)* 8) / 1024.0) AS DECIMAL(18,2))  
  6. FROM sys.master_files  
  7. -- You can uncomment below condition, for getting details of specific database  
  8. -- WHERE database_id = DB_ID('YourDatabaseName')  
  9. GROUP BY GROUPING SETS  
  10. (  
  11.      (DB_NAME(database_id), Type_Desc),  
  12.      (DB_NAME(database_id))  
  13. )  
  14. ORDER BY DB_NAME(database_id), Type_Desc DESC