Show All Databases on a SQL Server
CREATE TABLE ## temp
(
DatabaseName sysname,
NAME sysname,
physical_name nvarchar(500),
SIZE DECIMAL (18,2),
FreeSpace DECIMAL (18,2)
)
EXEC sp_msforeachdb '
USE [ ? ];
INSERT INTO ## temp (DatabaseName, NAME , physical_name, SIZE , FreeSpace)
SELECT DB_NAME() AS [DatabaseName], NAME , physical_name,
CAST ( CAST (Round( CAST ( SIZE AS DECIMAL ) * 8.0 / 1024.0,2) AS DECIMAL (18,2)) AS nvarchar) SIZE ,
CAST ( CAST (Round( CAST ( SIZE AS DECIMAL ) * 8.0 / 1024.0,2) AS DECIMAL (18,2)) -
CAST (FILEPROPERTY( NAME , '' SpaceUsed '' ) * 8.0 / 1024.0 AS DECIMAL (18,2)) AS nvarchar) AS FreeSpace
FROM sys.database_files
'
SELECT * FROM ## temp
DROP TABLE ## temp