Reputation: 2852
SQL Server stores data in pages of 8k (8192) bytes. In a data page, 96 bytes are reserved for page header. Considering the maximum allowed capacity of 8060 bytes for a data page, there are still 36 bytes remained. But I couldn't find any reference talking where this 36-byte block goes to.
Any help?
Upvotes: 8
Views: 3766
Reputation: 111
There is no fixed size specified for Slot Array/Row Offset Array.
Page header occupies the first 96 bytes of each data page (leaving 8,096 bytes for data, row overhead, and row offsets). Out of this, the maximum size of a single data row can be 8,060 bytes.
The number of rows stored on a given page varies depending on the table structure and on the data being stored. A table with all fixed-length columns always can store the same number of rows per page; variable-length rows can store as many rows as will fit based on the actual length of the data entered.
For example, a page can contain more than 19 rows where each row size is 403 bytes. In this case, slot array size would be 38 bytes.
Upvotes: 3