sys.partitions (Transact-SQL)

適用対象: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

データベース内のすべてのテーブルとほとんどの種類のインデックスのパーティションごとに 1 行のデータを保持します。 フルテキスト、空間、XML などの特殊なインデックスの種類は、このビューには含まれません。 SQL Serverのすべてのテーブルとインデックスには、明示的にパーティション分割されているかどうかに関係なく、少なくとも 1 つのパーティションが含まれます。

列名 データ型 説明
partition_id bigint パーティション ID を示します。 データベース内で一意です。
object_id int このパーティションが属するオブジェクトの ID を示します。 すべてのテーブルまたはビューは、少なくとも 1 つのパーティションで構成されます。
index_id int このパーティションが所属するオブジェクト内のインデックスの ID を示します。

0 = ヒープ
1 = クラスター化インデックス
2 以上 = 非クラスター化インデックス
partition_number int 所有しているインデックスまたはヒープ内で 1 から始まるパーティション番号です。 パーティション分割されていないテーブルとインデックスの場合、この列の値は 1 です。
hobt_id bigint このパーティションの行を含むデータ ヒープまたは B ツリー (HoBT) の ID を示します。
rows bigint このパーティション内の行のおおよその数を示します。
filestream_filegroup_id smallint 適用対象: SQL Server 2012 (11.x) 以降。

このパーティションに格納されている FILESTREAM ファイル グループの ID を示します。
Data_compression tinyint 各パーティションの圧縮の状態を示します。

0 = NONE
1 = ROW
2 = PAGE
3 = COLUMNSTORE : 適用対象: SQL Server 2012 (11.x) 以降
4 = COLUMNSTORE_ARCHIVE : 適用対象: SQL Server 2014 (12.x) 以降

メモ:フルテキスト インデックスは、SQL Serverの任意のエディションで圧縮されます。
data_compression_desc nvarchar(60) 各パーティションの圧縮の状態を示します。 行ストア テーブルに指定できる値は、NONE、ROW、および PAGE です。 列ストア テーブルに使用できる値は、COLUMNSTORE とCOLUMNSTORE_ARCHIVEです。

アクセス許可

ロール public のメンバーシップが必要です。 詳細については、「 Metadata Visibility Configuration」を参照してください。

次のクエリは、データベース内のすべてのオブジェクト、各オブジェクトで使用される領域、および各オブジェクトに関連するパーティション情報を返します。

SELECT object_name(object_id) AS ObjectName,
total_pages / 128. AS SpaceUsed_MB,
p.partition_id,
p.object_id,
p.index_id,
p.partition_number,
p.rows,
p.data_compression_desc
FROM sys.partitions AS p
JOIN sys.allocation_units AS au ON p.partition_id = au.container_id
ORDER BY SpaceUsed_MB DESC;

参照

オブジェクト カタログ ビュー (Transact-SQL)
カタログ ビュー (Transact-SQL)
SQL Server システム カタログに対するクエリに関してよく寄せられる質問