Take the 2-minute tour ×
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. It's 100% free, no registration required.

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
1  
You may find interesting reading about project OrcaMDF –  Oleg Dok Feb 2 '12 at 6:13
add comment

migrated from stackoverflow.com Feb 2 '12 at 14:48

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

1 Answer

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
add comment

Your Answer

 
discard

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