Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In sql server 2008, the sysindexes table contains a pointer to the first page of the index allocation mapping. If a table consists of multiple IAM pages, will the sysindexes table contain a pointer to each one of those as well, or will the first IAM page point to the second and the second point to the third and so on... ...I checked the books online but wasn't able to find any information on this.

share|improve this question

migrated from Feb 2 '12 at 14:48

This question came from our site for professional and enthusiast programmers.

You may find interesting reading about project OrcaMDF – Oleg Dok Feb 2 '12 at 6:13
up vote 2 down vote accepted

sysindexes points only at first IAM page in IAM pages chain. IAM pages chain is a doubly linked list - ie. each page in chain (obviously except first and last ones) has pointers to the next page and to previous page in its header.

Look here: Managing Space Used by Objects

An IAM page covers a 4-GB range in a file and is the same coverage as a GAM or SGAM page. If the allocation unit contains extents from more than one file, or more than one 4-GB range of a file, there will be multiple IAM pages linked in an IAM chain. Therefore, each allocation unit has at least one IAM page for each file on which it has extents. There may also be more than one IAM page on a file, if the range of the extents on the file allocated to the allocation unit exceeds the range that a single IAM page can record.

share|improve this answer
Thanks for clearing that up! – syte Feb 2 '12 at 5:52

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.