sys.allocation_units
, посмотрите на total_pages.Каждый набор строк (раздел индекса) имеет 3 единицы выделения (DATA, SLOB и LOB), см. Организация таблиц и индексов .Присоединитесь к sys.partitions
, чтобы получить object_id и index_id.Index_id 0 - это куча неупорядоченной таблицы, индекс id 1 - кластеризованный индекс.Каждая таблица (индекс) имеет хотя бы один раздел, если он не разделен:
select object_name(p.object_id) as [name],
object_schema_name(p.object_id) as [schema],
i.name as [index],
i.type_desc,
au.type_desc,
p.partition_number,
p.rows,
au.total_pages * 8 as [space (kb)]
from sys.allocation_units au
join sys.partitions p on au.container_id = p.partition_id
join sys.indexes i on p.object_id = i. object_id
and i.index_id = p.index_id
order by [space (kb)] desc;