Listing Sizes of Tables in Database in SQL Server
Hello to everyone,
In this article, I will try to give information about listing the dimensions of the tables in the database in SQL Server.
In SQL Server, in some cases you may want to list the sizes of the tables in the database.
You can easily do this using the code below.
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 UsedSpaceKB DESC;
When you run the above code, you will see a result similar to the one below.
As you can see, the sizes of the tables in the database are listed.
Good luck to everyone in business and life.