Skip to content

Instantly share code, notes, and snippets.

@timgaunt
Created June 15, 2013 07:40
Show Gist options
  • Save timgaunt/5787287 to your computer and use it in GitHub Desktop.
Save timgaunt/5787287 to your computer and use it in GitHub Desktop.
Size of all tables in SQL Server
SELECT
t.NAME AS TableName,
p.rows AS RowCounts,
(SUM(a.total_pages) * 8) / 1024 AS TotalSpaceMB,
(SUM(a.used_pages) * 8) / 1024 AS UsedSpaceMB,
((SUM(a.total_pages) - SUM(a.used_pages)) * 8) / 1024 AS UnusedSpaceKB
FROM
sys.tables t
INNER JOIN
sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN
sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN
sys.allocation_units a ON p.partition_id = a.container_id
WHERE
t.NAME NOT LIKE 'dt%'
AND t.is_ms_shipped = 0
AND i.OBJECT_ID > 255
GROUP BY
t.Name, p.Rows
ORDER BY
(SUM(a.total_pages) * 8) / 1024 DESC
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment