首页 > 代码库 > 将Heap RID转换成RID格式

将Heap RID转换成RID格式

使用DBCC PAGE命令查看索引叶子层中的索引键(最后一个参数为3才会显示索引键对应的HEAP RID)时,可以使用下面的SQL将HEAP RID转换成 FileId:PageId:SlotNo的格式。这样可以根据索引键查找到RID所在页。
 DECLARE @HeapRid BINARY(8)SET @HeapRid = 0x6813000001000600SELECT             CONVERT (VARCHAR(5),                    CONVERT(INT, SUBSTRING(@HeapRid, 6, 1)                               + SUBSTRING(@HeapRid, 5, 1)))     + :     + CONVERT(VARCHAR(10),                    CONVERT(INT, SUBSTRING(@HeapRid, 4, 1)                               + SUBSTRING(@HeapRid, 3, 1)                               + SUBSTRING(@HeapRid, 2, 1)                               + SUBSTRING(@HeapRid, 1, 1)))     + :          + CONVERT(VARCHAR(5),                    CONVERT(INT, SUBSTRING(@HeapRid, 8, 1)                               + SUBSTRING(@HeapRid, 7, 1)))                               AS Fileid:Pageid:slot 

 

 
 
 
Reference:
http://www.sqlservercentral.com/blogs/practicalsqldba/2013/03/17/sql-server-part-5-explaining-non-clustered-index-on-heap/

将Heap RID转换成RID格式