A helpful query on finding the size of your specific tables in SQL Server. Just replace with your string list of tables.
Or to get a list of all tables and their sizes in the database:
Code Snippet
- SELECT
- sum(RowCounts) as RowCounts,
- SUM(TotalSpaceKB) AS TotalSpaceKB,
- SUM(UsedSpaceKB) AS UsedSpaceKB,
- SUM(UnusedSpaceKB) AS UnusedSpaceKB
- FROM
- (
- SELECT
- 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
- WHERE
- t.is_ms_shipped = 0
- AND i.OBJECT_ID > 255
- AND t.NAME IN ( <TABLE_NAMES> )
- GROUP BY
- p.Rows
- )x
Or to get a list of all tables and their sizes in the database:
Code Snippet
- SELECT
- 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
- WHERE
- t.is_ms_shipped = 0
- AND i.OBJECT_ID > 255
- GROUP BY
- t.Name, p.Rows
No comments:
Post a Comment