SQL IAM的理解
时间:2010-10-09 来源:qianyz
一个 IAM 页在文件中的范围为 4 GB(IAM跟踪分配单元使用的数据库文件的 4 GB 部分中的区,它记录的是一个文件中的4GB部分,即跟踪一个GAM间隔的分配到一个分配单元的分区。一个IAM页(索引分配页)跟踪单个文件里将近4GB的空间,以4GB为界。这4GB的数据称为“GAM间隔”。一个IAM页跟踪属于单个实体的特定GAM间隔内的扩展盘区),与 GAM 或 SGAM 页的范围相同。如果分配单元包含来自多个文件的区(一个分配单元是有分区组成的,这些分区它来自哪里,可能来自不同文件的区一起组成的这个分配单元),或者超过一个文件的 4 GB 范围,那么一个 IAM 链中将链接多个 IAM 页(一个IAM管理4G,超过了就只有用链表来连接多个IAM来管理更大的)。因此,每个分配单元在有区的每个文件中至少有一个 IAM 页(一个IAM只能跟踪一个文件中的一个分配单元,如果在一个文件中)。如果分配给分配单元的文件中的区的范围超过了一个 IAM 页能够记录的范围,一个文件中也可能会有多个 IAM 页。
IAM 页根据需要分配给每个分配单元,在文件中的位置也是随机的。系统视图 (sys.system_internals_allocation_units) 指向分配单元的第一个 IAM 页。该分配单元的所有 IAM 页都链接到一个链中。
相关阅读 更多 +