sp_spaceused आपको संयुक्त रूप से सभी इंडेक्स का आकार देता है।
यदि आप किसी तालिका के लिए प्रत्येक अनुक्रमणिका का आकार चाहते हैं, तो इन दो प्रश्नों में से किसी एक का उपयोग करें:
SELECT
i.name AS IndexName,
SUM(s.used_page_count) * 8 AS IndexSizeKB
FROM sys.dm_db_partition_stats AS s
JOIN sys.indexes AS i
ON s.[object_id] = i.[object_id] AND s.index_id = i.index_id
WHERE s.[object_id] = object_id('dbo.TableName')
GROUP BY i.name
ORDER BY i.name
SELECT
i.name AS IndexName,
SUM(page_count * 8) AS IndexSizeKB
FROM sys.dm_db_index_physical_stats(
db_id(), object_id('dbo.TableName'), NULL, NULL, 'DETAILED') AS s
JOIN sys.indexes AS i
ON s.[object_id] = i.[object_id] AND s.index_id = i.index_id
GROUP BY i.name
ORDER BY i.name
परिणाम आमतौर पर थोड़े अलग होते हैं लेकिन 1% के भीतर।