Skip to content

Instantly share code, notes, and snippets.

@mikeplate
Created August 28, 2024 07:16
Show Gist options
  • Save mikeplate/590b19dcc058bffb49a39e341ab4f5d5 to your computer and use it in GitHub Desktop.
Save mikeplate/590b19dcc058bffb49a39e341ab4f5d5 to your computer and use it in GitHub Desktop.
Show the byte size of all tables in current database
SELECT
t.NAME AS TableName,
s.Name AS SchemaName,
p.rows AS RowCounts,
SUM(a.total_pages) * 8 AS TotalSpaceKB,
SUM(a.used_pages) * 8 AS UsedSpaceKB,
(SUM(a.total_pages) - SUM(a.used_pages)) * 8 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
LEFT OUTER JOIN
sys.schemas s ON t.schema_id = s.schema_id
WHERE
t.NAME NOT LIKE 'dt%'
AND t.is_ms_shipped = 0
AND i.OBJECT_ID > 255
GROUP BY
t.Name, s.Name, p.Rows
ORDER BY
TotalSpaceKB DESC
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment