sys.pdw_nodes_partitions (Transact-SQL)

适用于:Azure Synapse AnalyticsAnalytics Platform System (PDW)

包含所有表的每个分区的一行,以及 Azure Synapse Analytics 数据库中的大多数索引类型。 所有表和索引至少包含一个分区,无论它们是否显式分区。

列名称 数据类型 说明
partition_id bigint 分区 ID。 在数据库中是唯一的。
object_id int 此分区所属的对象的 ID。 每个表或视图都至少包含一个分区。
index_id int 此分区所属的对象内的索引的 ID。
partition_number int 拥有索引或堆中的从 1 开始的分区号。 对于 Azure Synapse Analytics,此列的值为 1。
hobt_id bigint 包含此分区行的数据堆或 B 树 (HoBT) 的 ID。
bigint 此分区中的大约行数。
data_compression int 指示每个分区的压缩状态:

0 = NONE

1 = ROW

2 = PAGE

3 = COLUMNSTORE
data_compression_desc nvarchar(60) 指示每个分区的压缩状态。 可能的值为 NONE、ROW 和 PAGE。
pdw_node_id int Azure Synapse Analytics 节点的唯一标识符。

权限

需要 CONTROL SERVER 权限。

示例:Azure Synapse Analytics 和 Analytics Platform System (PDW)

示例 A:显示每个分布区中每个分区中的行

适用于:Azure Synapse Analytics、Analytics Platform System (PDW)

若要显示每个分布区中每个分区中的行数,请使用 DBCC PDW_SHOWPARTITIONSTATS (SQL Server PDW)

示例 B:使用系统视图查看表的每个分布区中的每个分区中的行

适用于: Azure Synapse Analytics

此查询返回表 myTable的每个分布区中的每个分区中的行数。

SELECT o.name, pnp.index_id, pnp.partition_id, pnp.rows,   
    pnp.data_compression_desc, pnp.pdw_node_id  
FROM sys.pdw_nodes_partitions AS pnp  
JOIN sys.pdw_nodes_tables AS NTables  
    ON pnp.object_id = NTables.object_id  
AND pnp.pdw_node_id = NTables.pdw_node_id  
JOIN sys.pdw_table_mappings AS TMap  
    ON NTables.name = TMap.physical_name 
    AND substring(TMap.physical_name,40, 10) = pnp.distribution_id 
JOIN sys.objects AS o  
    ON TMap.object_id = o.object_id  
WHERE o.name = 'myTable'  
ORDER BY o.name, pnp.index_id, pnp.partition_id;  

另请参阅

Azure Synapse Analytics 和并行数据仓库目录视图