SQL SERVER :DBCC IND

DBCC IND 命令用于查询一个存储对象的内部存储结构信息,该命令有4个参数, 前3个参数必须指定。语法如下:

DBCC IND ( { 'dbname' | dbid }, { 'objname' | objid },{ nonclustered indid | 1 | 0 | -1 | -2 } [, partition_number] )

第一个参数是数据库名或数据库ID。
第二个参数是数据库中的对象名或对象ID,对象可以是表或者索引视图。
第三个参数是一个非聚集索引ID或者 1, 0, 1, or 2. 值的含义:
0: 只显示对象的in-row data页和 in-row IAM 页。
1: 显示对象的全部页, 包含IAM 页, in-row数据页, LOB 数据页row-overflow 数据页 . 如果请求的对象含有聚集索引则索引页也包括。
-1: 显示全部IAM页,数据页, 索引页 也包括 LOB 和row-overflow 数据页。
-2: 显示全部IAM页。
Nonclustered index ID:显示索引的全部 IAM页, data页和索引页,包含LOB和 row-overflow数据页。

为了兼容sql server 2000,第四个参数是可选的,该参数用于指定一个分区号.如果不给定值或者给定0, 则显示全部分区数据。

和DBCC PAGE不同的是, SQL Server运行DBCC IND不需要开启3604跟踪标志.

DBCC IND命令输出列的含义:
PageFID: 文件ID
PagePID: PageID
IAMFID: IAM页所在的文件ID
IAMPID: IAM页所在的PageID
ObjectID: 对象ID
IndexID: 索引ID
PartitionNumber: 表或索引的分区号
PartitionID ID: 数据库范围内唯一的表或索引的分区ID
iam_chain_type: 页面所属的分配单元类型: in-row data, row-overflow data, or LOB data
PageType: 1 = data page, 2 = index page, 3 = LOB_MIXED_PAGE, 4 =LOB_TREE_PAGE, 10 = IAM page
IndexLevel:索引级别; 0 表示叶级
NextPageFID 当前级别的后一页的文件ID
NextPagePID 当前级别的后一页的PageID
PrevPageFID 当前级别的前一页的文件ID
PrevPagePID 当前级别的前一页的PageID
————————————————

注:聚集索引(IndexID = 1)的叶级(indexlevel = 0)存储的是具体的数据行,所以它的PageType = 1
版权声明:本文为CSDN博主「baobaojinjin」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/baobaojinjin/article/details/84734994

posted @ 2022-06-25 17:36  竹楼风雨声  阅读(92)  评论(0编辑  收藏  举报