TechOps Workbench
SQL SERVER · NONCLUSTERED ROWSTORE INDEX

Count rows. Model pages.
See what an index could cost.

A page-based estimate for one uncompressed, in-row nonclustered index.

Index profile

01 / INPUTS
Uses the same fill-factor approximation for non-leaf pages when selected. Otherwise upper levels are modeled full.
◇ Calculations stay in your browser.

Page & storage estimate

02 / RESULTS
UNCOMPRESSED PAGE MODEL · VERIFY WITH A TEST BUILD

Estimated B-tree page storage

—GiB
Record-width defaults are examples. Locator width, uniqueness, nullability and variable-column metadata affect the result. This model does not validate an index definition.

B-tree levels

LevelRolePages

Planning summary

Read-only existing index storage

SELECT OBJECT_SCHEMA_NAME(p.object_id) AS schema_name,
  OBJECT_NAME(p.object_id) AS table_name,
  i.name AS index_name,
  SUM(p.row_count) AS row_count,
  SUM(p.used_page_count) * 8.0 / 1024 AS used_mib,
  SUM(p.reserved_page_count) * 8.0 / 1024 AS reserved_mib
FROM sys.dm_db_partition_stats AS p
JOIN sys.indexes AS i
  ON i.object_id = p.object_id AND i.index_id = p.index_id
WHERE i.type = 2
GROUP BY p.object_id, i.name
ORDER BY reserved_mib DESC;

Run in the intended database with appropriate DMV permissions. Includes all partitions and allocation units; actual totals may exceed this simplified in-row model.

UNDERSTAND THE MODEL

Width matters
at every level.

Use measured average record widths when available, or build a representative test index before committing production storage.

Page arithmetic

Each page occupies 8,192 bytes; 8,096 bytes are available after the page header. A record adds a 2-byte slot entry. Full record capacity is rounded down. Fill-factor reserve is rounded down separately and subtracted from full capacity. Leaf pages are rounded up from row count ÷ effective leaf capacity.

Each upper-level page references child pages. The planner repeatedly divides the previous level’s pages by upper-level capacity, rounding up, until one root page remains. A one-page index uses its leaf as the root. Storage is the sum of modeled pages × 8,192 bytes.

Preparing record-width inputs

Complete leaf width includes key and included column values, locator bytes and record metadata. Account for the heap RID or clustered key without double-counting key columns already present; nonunique clustered keys can add uniqueifier overhead. Upper records differ by index uniqueness and locator requirements. These details must be included in the width you enter.

Limitations

Compression, LOB and row-overflow pages, partition boundaries, allocation-map overhead, fragmentation, versioning overhead and rebuild working space are not modeled. Average widths can miss row-length variation. Headroom is a budgeting assumption, not a prediction of index rebuild space or transaction log demand. Fill factor applies when an index is built or rebuilt; it is not maintained as a permanent free-space percentage.

Guidance checked October 5, 2026. Not a clustered, columnstore, memory-optimized or compressed index estimator.