Sql Server查看表中所有行的分配情况
--查看表中所有行的分配情况 select c.name as column_name, c.column_id, pc.max_inrow_length, pc.system_type_id, pc.leaf_offset from sys.system_internals_partition_columns pc inner join sys.partitions p on p.partition_id = pc.partition_id inner join sys.columns c on c.column_id = pc.partition_column_id and c.object_id = p.object_id where p.object_id = object_id('tb_test');
/* column_name column_id max_inrow_length system_type_id leaf_offset ------------- ----------- ---------------- -------------- ----------- col1 1 16 36 4 col2 2 8000 239 20 col3 3 8000 231 -1 col4 4 8000 231 -2 从以上数据我们可以看出,leaf_offset是列数据在行内相对于行头的偏移量 即:col1从4字节开始,到19字节结束,共16字节。 col2从20字节开始,因为是定长数据,长度为8000字节 col3、col4属于变长数据,实际的长度因不同的记录不同而不同,这里 不能指定准确的偏移量,-1、-2表示的是第一变长列和第二变长列。