To get an overview of total disk space allocated per table in MB, use this SQL script:
WITH TableSizes AS ( SELECT sch.name AS SchemaName, t.name AS TableName, SUM(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 INNER JOIN sys.schemas sch ON t.schema_id = sch.schema_id WHERE t.type = 'U' -- Only include user tables GROUP BY sch.name, t.name ) SELECT SchemaName, TableName, RowCounts, --TotalSpaceKB, --UsedSpaceKB, --UnusedSpaceKB, CAST(TotalSpaceKB / 1024.0 AS DECIMAL(10, 0)) AS TotalSpaceMB --CAST(UsedSpaceKB / 1024.0 AS DECIMAL(10, 2)) AS UsedSpaceMB, --CAST(UnusedSpaceKB / 1024.0 AS DECIMAL(10, 2)) AS UnusedSpaceMB FROM TableSizes ORDER BY TotalSpaceKB DESC;