Skip to content

Index Records

Index records use the same FixedVar layout as data records, with a smaller header and pointer fields for navigating the B-Tree.

KeyNameDescription
00
Status Bits ARecord type and status flags - whether the record has a null bitmap and variable length columns
00
Null BitmapOne bit per column, set to 1 if the column value is null. Only present if the index contains nullable columns
00
Column CountNumber of columns in the record
00
Variable Length Column CountNumber of variable length columns stored in the record
00
Variable Length Column Offset ArrayTwo bytes per variable length column giving the offset where each value ends
00
Fixed Length ValueFixed length key and included column values
00
Variable Length ValueVariable length key and included column values, located via the offset array
00
UniquifierValue added to duplicate key values in a non-unique clustered index to make each key unique
00
RIDRow Identifier in (File Id:Page Id:Slot Id) format - a direct pointer to a heap row, used by non-clustered indexes on heaps
00
Down Page PointerAddress of the page at the next level down in the B-Tree covering this record's key range. Present in records above the leaf level