Every piece of data in SQL Server is stored in 8 KB database pages. A page is a basic unit of I/O operation. A page starts with a 96-byte header in which all system information (the amount of free space, the page type, the page number, and the allocation unit ID of the object that owns the page) is stored. Another part of the page is its body or data rows (8,060 bytes). The body contains all the data in rows. The last part of the database page is row offsets that are located in reverse sequence from the sequence of the rows on the page (36 bytes).
Page Types
There are several types of database pages:
- Data Page details how the data is stored inside the data files, database.
- Index Page contains index entries.
- Text and Image contains textual and image data.
- GAM (Global Allocation Map) and SGAM (Shared Global Allocation Map) contain information about whether extents are allocated.
- PFS (Page Free Space) contains information about the free space available on pages and about page allocation.
- IAM (Index Allocation Map) contains information about extents used by a table or index.
- Bulk Changed Map contains the extent information that has been modified by bulk operations since the last BACKUP LOG.
- Differential Changed Map contains the extent information that has changed since the last BACKUP DATABASE.