sys.partitions (Transact-SQL)
適用対象: SQL Server Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics 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 システム カタログに対するクエリに関してよく寄せられる質問