Skip to content

Instantly share code, notes, and snippets.

@kristinaconley
Last active May 1, 2017 15:38
Show Gist options
  • Save kristinaconley/1ab951bacad7ca0fa2c1c3fcf8d35b20 to your computer and use it in GitHub Desktop.
Save kristinaconley/1ab951bacad7ca0fa2c1c3fcf8d35b20 to your computer and use it in GitHub Desktop.
DECLARE @DBInfo TABLE
( ServerName VARCHAR(100),
DatabaseName VARCHAR(100),
DbSize VARCHAR(100),
SpaceUsed VARCHAR(100),
SpacePercentFree VARCHAR(100),
LogSize VARCHAR(100)
)
DECLARE @command VARCHAR(5000)
SELECT @command = 'Use [' + '?' + '] SELECT
@@servername as ServerName,
' + '''' + '?' + '''' + ' AS DatabaseName,
(SELECT
SUM(CAST(df.size as DECIMAL(16,0)))
FROM sys.database_files AS df
WHERE df.type in ( 0, 2, 4 ) ) AS [DbSize],
SUM(a.total_pages) AS [SpaceUsed],
SUM(a.total_pages) / (SELECT
SUM(CAST(df.size as DECIMAL(16,0)))
FROM sys.database_files AS df
WHERE df.type in ( 0, 2, 4 ) ) AS [SpacePercentFree],
(SELECT
SUM(CAST(df.size as DECIMAL(16,0)))
FROM sys.database_files AS df
WHERE df.type in (1, 3)) AS [LogSize]
FROM sys.partitions p
INNER JOIN sys.allocation_units a
on p.partition_id = a.container_id
left join sys.internal_tables it
on p.object_id = it.object_id'
INSERT INTO @DBInfo
(ServerName,
DatabaseName,
DbSize,
SpaceUsed,
SpacePercentFree,
LogSize)
EXEC sp_MSForEachDB @command
SELECT
CONVERT(varchar,DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0),101) AS 'Date',
ServerName,
DatabaseName,
DbSize,
SpaceUsed,
SpacePercentFree,
LogSize
FROM @DBInfo
WHERE databasename NOT IN (
'master',
'model',
'msdb'
)
ORDER BY
ServerName,
DatabaseName
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment