sys.internal_partitions (TRANSACT-SQL)sys.internal_partitions (Transact-SQL)

このトピックの対象: ○SQL Server (2016 以降)○Azure SQL Database×Azure SQL Data Warehouse ×Parallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

ディスク ベース テーブルで列ストア インデックスの内部データを追跡するそれぞれの行セットの 1 つの行を返します。Returns one row for each rowset that tracks internal data for columnstore indexes on disk-based tables. これらの行セットでは、列ストア インデックスに内部し、トラックが削除された行、行グループのマッピング、およびデルタは、行グループを格納します。These rowsets are internal to columnstore indexes and track deleted rows, rowgroup mappings, and delta store rowgroups. データを追跡ごとに各テーブル パーティション。すべてのテーブルには、少なくとも 1 つのパーティションがあります。They track data for each for each table partition; every table has at least one partition. SQL ServerSQL Server 再、行セットを列ストア インデックスを再構築するたびに作成されます。 re-creates the rowsets each time it rebuilds the columnstore index.

列名Column name データ型Data type 説明Description
partition_idpartition_id bigintbigint このパーティションのパーティションの ID です。Partition ID for this partition. データベース内で一意です。This is unique within a database.
object_idobject_id intint パーティションを含むテーブルのオブジェクト ID。Object ID for the table that contains the partition.
index_idindex_id intint テーブルで定義された列ストア インデックスのインデックスの ID。Index ID for the columnstore index defined on the table.

1 = クラスター化列ストア インデックス1 = clustered columnstore index

2 = 非クラスター化列ストア インデックス2 = nonclustered columnstore index
partition_numberpartition_number intint パーティションの数です。The partition number.

1 = パーティション分割されたテーブルの最初のパーティションまたは非パーティション テーブルの 1 つのパーティションです。1 = first partition of a partitioned table, or the single partition of a nonpartitioned table.

2 = 2 番目のパーティションとなどです。2 = second partition, and so on.
internal_object_typeinternal_object_type tinyinttinyint 列ストア インデックスの内部データを追跡するための行セット オブジェクトです。Rowset objects that track internal data for the columnstore index.

2 = COLUMN_STORE_DELETE_BITMAP2 = COLUMN_STORE_DELETE_BITMAP

3 = COLUMN_STORE_DELTA_STORE3 = COLUMN_STORE_DELTA_STORE

4 = COLUMN_STORE_DELETE_BUFFER4 = COLUMN_STORE_DELETE_BUFFER

5 = COLUMN_STORE_MAPPING_INDEX5 = COLUMN_STORE_MAPPING_INDEX
internal_object_type_descinternal_object_type_desc nvarchar(60)nvarchar(60) COLUMN_STORE_DELETE_BITMAP – このビットマップのインデックスでは、列ストアから削除済みとしてマークされている行を追跡します。COLUMN_STORE_DELETE_BITMAP – This bitmap index tracks rows that are marked as deleted from the columnstore. ビットマップは、パーティションは、複数の行グループ内の行を持つことができますので、すべての行グループは。The bitmap is for every rowgroup since partitions can have rows in multiple rowgroups. 行は、列ストアにも物理的に存在し、領域を占有にあります。The rows are that are still physically present and taking up space in the columnstore.

COLUMN_STORE_DELTA_STORE – ストアの複数の行では、列指向の記憶域に圧縮されていないを行グループと呼ばれます。COLUMN_STORE_DELTA_STORE – Stores groups of rows, called rowgroups, that have not been compressed into columnar storage. 各テーブル パーティションでは、0 個以上のデルタストアの行グループを持つことができます。Each table partition can have zero or more deltastore rowgroups.

COLUMN_STORE_DELETE_BUFFER – をクリックし、更新可能なの非クラスター化列ストア インデックスの削除を維持するためです。COLUMN_STORE_DELETE_BUFFER – For maintaining deletes to updateable nonclustered columnstore indexes. クエリを基になる行ストア テーブルから行を削除すると、削除のバッファーは、列ストアから、削除を追跡します。When a query deletes a row from the underlying rowstore table, the delete buffer tracks the deletion from the columnstore. 削除された行の数が 1048576 を超えた場合にバック グラウンド スレッドの組ムーバーによって、または明示的な再編成コマンドによって、削除のビットマップにマージされます。When the number of deleted rows exceed 1048576, they are merged back into the delete bitmap by background Tuple Mover thread or by an explicit Reorganize command. 任意の特定の時点では、delete ビットマップ、および削除のバッファーの和集合は、すべて削除された行を表します。At any given point in time, the union of the delete bitmap and the delete buffer represents all deleted rows.

COLUMN_STORE_MAPPING_INDEX – では、クラスター化列ストア インデックスがセカンダリの非クラスター化インデックスを持つ場合にのみを使用します。COLUMN_STORE_MAPPING_INDEX – Used only when the clustered columnstore index has a secondary nonclustered index. これは、非クラスター化インデックスのキーは、適切な行グループと列ストア行 ID にマップします。This maps nonclustered index keys to the correct rowgroup and row ID in the columnstore. のみを格納します。 別の行グループに移動する行のキーこれは、マージ操作で、次の 2 つの異なる行をグループからの行をマージして、デルタ行グループは、列ストアに圧縮されたときに発生します。It only stores keys for rows that move to a different rowgroup; this occurs when a delta rowgroup is compressed into the columnstore, and when a merge operation merges rows from two different rowgroups.
Row_group_idRow_group_id intint デルタストアの行グループの ID。ID for the deltastore rowgroup. 各テーブル パーティションでは、0 個以上のデルタストアの行グループを持つことができます。Each table partition can have zero or more deltastore rowgroups.
hobt_idhobt_id bigintbigint 内部行セット オブジェクトの ID。ID of the internal rowset object. これは、適切なキーの詳細については、内部の行セットの物理的な特性を取得するには、その他の Dmv を使用したに参加するためです。This is a good key for joining with other DMVs to get more information about the physical characteristics of the internal rowset.
rowsrows bigintbigint このパーティション内の行の概数です。Approximate number of rows in this partition.
data_compressiondata_compression tinyinttinyint 行セットの圧縮の状態。The state of compression for the rowset:

0 = NONE0 = NONE

1 = ROW1 = ROW

2 = PAGE2 = PAGE
data_compression_descdata_compression_desc nvarchar(60)nvarchar(60) 各パーティションの圧縮の状態。The state of compression for each partition. 行ストア テーブルに指定できる値は、NONE、ROW、および PAGE です。Possible values for rowstore tables are NONE, ROW, and PAGE. 列ストア テーブルに指定できる値は COLUMNSTORE および COLUMNSTORE_ARCHIVE です。Possible values for columnstore tables are COLUMNSTORE and COLUMNSTORE_ARCHIVE.

アクセス許可Permissions

ロール public のメンバーシップが必要です。Requires membership in the public role. 詳細については、「 Metadata Visibility Configuration」を参照してください。For more information, see Metadata Visibility Configuration.

全般的な解説General Remarks

SQL ServerSQL Server 再作成または列ストア インデックスを再構築は、毎回の新しい列ストア内部のインデックスを作成します。 re-creates new columnstore internal indexes each time it creates or rebuilds a columnstore index.

使用例Examples

A.A. すべてのテーブルの内部の行セットの表示します。View all of the internal rowsets for a table

この例では、すべてのテーブルの内部列ストア行セットを返します。This example returns all of the internal columnstore rowsets for a table. 詳細については、特定の行セットを検索するのに hobt_id でを使用することもできます。You can also use the hobt_id to find more information about the specific rowset.

SELECT i.object_id, i.index_id, i.name, p.hobt_id, p.internal_object_type_id, p.internal_object_type_desc  
FROM sys.internal_partitions AS p  
JOIN sys.indexes AS i  
on i.object_id = p.object_id  
WHERE p.object_id = OBJECT_ID ( '<table name' ) ;  

参照See Also

オブジェクト カタログ ビュー (Transact-SQL) Object Catalog Views (Transact-SQL)
カタログ ビュー (Transact-SQL) Catalog Views (Transact-SQL)
SQL Server システム カタログに対するクエリに関してよくあるご質問Querying the SQL Server System Catalog FAQ