sys.partition中的多个记录,用于非分区表

时间:2015-02-18 19:30:39

标签: sql-server sql-server-2008-r2

我想知道为什么非分区表在sys.partitions中会有几个孤立的记录。由于它是一个非分区表,sys.partitions和sys.dm_db_partition_stats中应该只有一条记录。

有谁知道这是否是一个问题,如果是,我该如何解决?

谢谢!

编辑: 查询是:

select * from sys.dm_db_partition_stats a right join sys.partitions b on a.partition_id = b.partition_id WHERE b.object_id = OBJECT_ID('tableA') 

结果是:

partition_id    partition_id    index_id    partition_number    hobt_id rows
72057602390818816   72057602390818816   5   1   72057602390818816   1844605
72057602776891392   NULL    1   1   72057602776891392   1842474
72057602776956928   NULL    1   1   72057602776956928   1842474
72057602777939968   NULL    1   1   72057602777939968   1842498
72057602778071040   NULL    1   1   72057602778071040   1842658
72057602782593024   NULL    6   1   72057602782593024   1842944
72057602783707136   72057602783707136   1   1   72057602783707136   1844605
72057602783772672   72057602783772672   6   1   72057602783772672   1844605

Yikes,有没有办法让它更具可读性?

1 个答案:

答案 0 :(得分:2)

来自MSDN文档HERE

  

SQL Server中的所有表和索引都包含至少一个分区,无论它们是否已明确分区。

多行可能与您的索引相对应,请检查object_id和index_id并与sys.indexes进行比较。