SELECT TOP 20
SCHEMA_NAME(t.schema_id) AS 架构名,
t.name AS 表名,
SUM(p.reserved_page_count) 8 / 1024.0 AS 预留空间_MB,
SUM(p.used_page_count) 8 / 1024.0 AS 已用空间_MB,
SUM(p.in_row_data_page_count) * 8 / 1024.0 AS 行内数据_MB, -- 修正:使用 in_row_data_page_count
SUM(p.row_count) AS 总行数,
MAX(p.partition_number) AS 分区数
FROM sys.tables t
INNER JOIN sys.dm_db_partition_stats p
ON t.object_id = p.object_id
WHERE t.is_ms_shipped = 0 -- 排除系统表
GROUP BY t.schema_id, t.name
ORDER BY 预留空间_MB DESC