sys.internal_partitions (Transact-SQL)

S’applique à : SQL Server 2016 (13.x) et versions ultérieures Azure SQL Database Azure SQL Managed Instance

Retourne une ligne pour chaque ensemble de lignes qui effectue le suivi des données internes pour les index columnstore sur les tables sur disque. Ces ensembles de lignes sont internes aux index columnstore et effectuent le suivi des lignes supprimées, des mappages de rowgroups et des rowgroups de magasin delta. Ils effectuent le suivi des données pour chaque partition de table ; chaque table a au moins une partition. SQL Server recrée les ensembles de lignes chaque fois qu’il reconstruit l’index columnstore.

Nom de la colonne Type de données Description
partition_id bigint ID de partition pour cette partition. Unique dans la base de données.
object_id int ID d’objet de la table qui contient la partition.
index_id int ID d’index pour l’index columnstore défini sur la table.

1 = index columnstore cluster

2 = index columnstore non cluster
partition_number int Numéro de partition.

1 = première partition d’une table partitionnée ou partition unique d’une table nonpartitionnée.

2 = deuxième partition, et ainsi de suite.
internal_object_type tinyint Objets d’ensemble de lignes qui suivent les données internes de l’index columnstore.

2 = COLUMN_STORE_DELETE_BITMAP

3 = COLUMN_STORE_DELTA_STORE

4 = COLUMN_STORE_DELETE_BUFFER

5 = COLUMN_STORE_MAPPING_INDEX
internal_object_type_desc nvarchar(60) COLUMN_STORE_DELETE_BITMAP - Cet index bitmap suit les lignes marquées comme supprimées du columnstore. La bitmap est destinée à chaque rowgroup, car les partitions peuvent avoir des lignes dans plusieurs rowgroups. Les lignes sont toujours présentes physiquement et occupent de l’espace dans le columnstore.

COLUMN_STORE_DELTA_STORE : stocke les groupes de lignes, appelés rowgroups, qui n’ont pas été compressés dans le stockage en colonnes. Chaque partition de table peut avoir zéro ou plusieurs rowgroups deltastore.

COLUMN_STORE_DELETE_BUFFER : pour gérer les suppressions pour mettre à jour des index columnstore non cluster pouvant être mis à jour. Lorsqu’une requête supprime une ligne de la table rowstore sous-jacente, la mémoire tampon de suppression effectue le suivi de la suppression du columnstore. Lorsque le nombre de lignes supprimées dépasse 1048576, ils sont fusionnés dans la bitmap de suppression par le thread Tuple Mover d’arrière-plan ou par une commande de réorganisation explicite. À un moment donné, l’union de la bitmap de suppression et de la mémoire tampon de suppression représente toutes les lignes supprimées.

COLUMN_STORE_MAPPING_INDEX : utilisé uniquement lorsque l’index columnstore cluster a un index secondaire non cluster. Cela mappe les clés d’index non cluster au groupe de lignes et à l’ID de ligne corrects dans le columnstore. Il stocke uniquement les clés pour les lignes qui se déplacent vers un autre rowgroup ; cela se produit lorsqu’un rowgroup delta est compressé dans le columnstore, et lorsqu’une opération de fusion fusionne des lignes à partir de deux rowgroups différents.
Row_group_id int ID du rowgroup deltastore. Chaque partition de table peut avoir zéro ou plusieurs rowgroups deltastore.
hobt_id bigint ID de l’objet d’ensemble de lignes interne (HoBT). Il s’agit d’une bonne clé pour joindre d’autres DMV afin d’obtenir plus d’informations sur les caractéristiques physiques de l’ensemble de lignes interne.
rows bigint Nombre approximatif de lignes dans cette partition.
data_compression tinyint État de compression de l’ensemble de lignes :

0 = AUCUN

1 = LIGNE

2 = PAGE
data_compression_desc nvarchar(60) État de compression pour chaque partition. Les valeurs possibles pour les tables rowstore sont AUCUN, LIGNE et PAGE. Les valeurs possibles pour les tables columnstore sont COLUMNSTORE et COLUMNSTORE_ARCHIVE.
optimize_for_sequential_key bit 1 = L’optimisation de l’insertion de dernière page est activée.

0 = Valeur par défaut. La partition a désactivé l’optimisation de l’insertion de dernière page.

autorisations

Nécessite l’appartenance au rôle public. Pour plus d'informations, consultez Metadata Visibility Configuration.

Remarques d'ordre général

SQL Server recrée de nouveaux index internes columnstore chaque fois qu’il crée ou reconstruit un index columnstore.

Exemples

R. Afficher tous les ensembles de lignes internes d’une table

Cet exemple retourne tous les ensembles de lignes columnstore internes d’une table. Vous pouvez également utiliser le hobt_id pour trouver plus d’informations sur l’ensemble de lignes spécifique.

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' ) ;  

Voir aussi

Vues de catalogue d'objets (Transact-SQL)
Affichages catalogue (Transact-SQL)
Questions fréquentes sur l'interrogation des catalogues système de SQL Server