SELECT t.name AS TableName, s.name AS SchemaName, -- [i].[name] AS indexName, MAX([p].[rows]) AS [rowCount], SUM([a].[total_pages]) * 8 AS TotalSpaceKB, CAST(ROUND(((SUM([a].[total_pages]) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS TotalSpaceMB, SUM([a].[used_pages]) * 8 AS UsedSpaceKB, CAST(ROUND(((SUM([a].[used_pages]) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS UsedSpaceMB, (SUM([a].[total_pages]) - SUM([a].[used_pages])) * 8 AS UnusedSpaceKB, CAST(ROUND(((SUM([a].[total_pages]) - SUM([a].[used_pages])) * 8) / 1024.00, 2) AS NUMERIC(36, 2)) AS UnusedSpaceMB 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 i.object_id > 255 -- AND i.index_id IN ( 0, 1 ) --0=heap, 1= clustered AND t.name NOT LIKE 'dt%' AND t.name LIKE '%' AND [t].[is_ms_shipped] = 0 AND i.object_id > 255 GROUP BY t.name, s.name ORDER BY [TotalSpaceMB] DESC RETURN SELECT t.name AS TableName, MAX([p].[rows]) AS RowCounts, (SUM([a].[total_pages]) * 8) / 1024.0 AS TotalSpaceMB, (SUM([a].[used_pages]) * 8) / 1024.0 AS UsedSpaceMB, (SUM([a].[data_pages]) * 8) / 1024.0 AS DataSpaceMB 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 i.object_id > 255 AND i.index_id IN ( 0, 1 ) GROUP BY t.name ORDER BY TotalSpaceMB DESC;