sys.pdw_nodes_partitions (Transact-SQL)

適用対象:Azure Synapse AnalyticsAnalytics Platform System (PDW)

すべてのテーブルの各パーティションの行と、Azure Synapse Analytics データベース内のほとんどの種類のインデックスが含まれます。 明示的にパーティション分割されているかどうかに関係なく、すべてのテーブルとインデックスに少なくとも 1 つのパーティションが含まれます。

列名 データ型 説明
partition_id bigint パーティションの ID。 データベース内で一意です。
object_id int このパーティションが所属するオブジェクトの ID です。 すべてのテーブルまたはビューは、少なくとも 1 つのパーティションで構成されます。
index_id int このパーティションが所属するオブジェクト内のインデックスの ID です。
partition_number int 所有するインデックスまたはヒープ内の 1 から始まるパーティション番号。 Azure Synapse Analytics の場合、この列の値は 1 です。
hobt_id bigint このパーティションの行を含むデータ ヒープまたは B ツリー (HoBT) の ID。
rows 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 と Parallel Data Warehouse のカタログ ビュー