-- 获取分区表以及每个分区的数据存储信息

 
  
  1. SELECT 
  2.     T.NAME              AS  [TABLE_NAME]  
  3.     ,PRV.BOUNDARY_ID -- 分区号 
  4.     ,P.ROWS          -- 采样行数/分区 
  5.     ,PRV.VALUE          AS  [RANGE_VALUE]  -- 分区点 
  6.     ,P.DATA_COMPRESSION_DESC  -- 是否使用压缩算法,压缩类型 
  7.     ,PF.FUNCTION_ID  -- 分区函数ID 
  8.     ,PF.FANOUT 
  9.     ,PF.CREATE_DATE  -- 创建时间 
  10.     ,PF.MODIFY_DATE  -- 修改时间 
  11.     ,PS.NAME            AS  [PS_NAME] -- 分区架构名称 
  12.     ,PF.NAME            AS  [PF_NAME] -- 分区函数名称 
  13. FROM 
  14.     SYS.TABLES T 
  15. INNER JOIN 
  16.     SYS.INDEXES IDX 
  17. ON 
  18.     T.OBJECT_ID = IDX.OBJECT_ID 
  19. INNER JOIN 
  20.     SYS.DATA_SPACES DS 
  21. ON 
  22.     IDX.DATA_SPACE_ID = DS.DATA_SPACE_ID AND DS.TYPE='PS' AND IDX.INDEX_ID < 2 -- 取表 
  23. INNER JOIN 
  24.     SYS.PARTITION_SCHEMES PS 
  25. ON 
  26.     DS.NAME = PS.NAME 
  27. INNER JOIN 
  28.     SYS.PARTITION_FUNCTIONS PF 
  29. ON 
  30.     PS.FUNCTION_ID = PF.FUNCTION_ID 
  31. INNER JOIN 
  32.     SYS.PARTITION_RANGE_VALUES PRV 
  33. ON 
  34.     PF.FUNCTION_ID = PRV.FUNCTION_ID 
  35. INNER JOIN 
  36.     SYS.PARTITIONS P 
  37. ON 
  38.     P.OBJECT_ID = T.OBJECT_ID AND P.PARTITION_NUMBER = PRV.BOUNDARY_ID AND P.INDEX_ID < 2 
  39. WHERE 
  40.      T.OBJECT_ID = OBJECT_ID('dbo.tablename'
  41. ORDER BY 
  42.     PF.FUNCTION_ID ASC, T.OBJECT_ID ASC, PRV.VALUE ASC