SQL Server: uso de espaço por tabela

Às vezes, um banco de dados SQL Server é muito maior do que você espera. Para descobrir quais tabelas estão usando todos os dados, execute o seguinte SQL em seu banco de dados:

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

O resultado é o seguinte:

Cenário