Get SQL Server Database Size, Location for all Databases

Here are the SQL Server queries to get all SQL Server database data file and log file Size, Location:

SELECT DB_NAME(database_id) AS [Database Name],
       Name AS [Logical Name],
       Physical_Name AS [Physical Name],
       (size*8)/1024 AS [Size - MB] 
 FROM sys.master_files WHERE database_id > 4 

This script outputs each data file & log file of all databases.

SQL Query to get Database Location and size


If you want to combine Data File & Log File Size:

SELECT DB_NAME(database_id) AS [Database Name], 
       SUM((size*8)/1024) [Size - MB] 
FROM sys.master_files 
WHERE database_id > 4 
group by DB_NAME(database_id) 
order by DB_NAME(database_id)

This will give you all Databases attached to a specific instance, excluding SQL Server system Databases like Master, Model, etc. (So we’ve: WHERE database_id > 4)

Salaudeen Rajack

Information Technology Professional with Two decades of SharePoint Experience.

One thought on “Get SQL Server Database Size, Location for all Databases

  • July 5, 2013 at 12:11 PM

    Can we get the same from Powershell also?

    Local vs Remote SQL Instance.

    Reply

Leave a Reply