sys.partitions (Transact-SQL)

S’applique à :yesSQL Server (toutes les versions prises en charge) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics yesAnalytics Platform System (PDW)

Contient une ligne pour chaque partition de toutes les tables et la plupart des types d'index de la base de données. Les types d'index spéciaux comme Texte intégral, Spatial et XML ne sont pas inclus dans cette vue. Toutes les tables et index dans SQL Server contiennent au moins une partition, qu’elles soient ou non partitionnés explicitement.

Nom de la colonne Type de données Description
partition_id bigint Indique l'ID de partition. Unique dans une base de données.
object_id int Indique l’ID de l’objet auquel appartient cette partition. Chaque table ou vue comporte au moins une partition.
index_id int Indique l'ID de l'index de l'objet auquel cette partition appartient.

0 = segment de mémoire
1 = index cluster
2 ou plus = index non-cluster
partition_number int Numéro de partition en base 1 dans l'index ou le segment de mémoire propriétaire. Pour les tables et les index non partitionnés, la valeur de cette colonne est 1.
hobt_id bigint Indique l’ID du tas de données ou de l’arborescence B (HoBT) qui contient les lignes de cette partition.
rows bigint Indique le nombre approximatif de lignes dans cette partition.
filestream_filegroup_id smallint S’applique à : SQL Server 2012 (11.x) et versions ultérieures.

Indique l'ID du groupe de fichiers FILESTREAM stocké sur cette partition.
data_compression tinyint Indique l'état de compression pour chaque partition :

0 = AUCUN
1 = LIGNE
2 = PAGE
3 = COLUMNSTORE : S’applique à : SQL Server 2012 (11.x) et versions ultérieures
4 = COLUMNSTORE_ARCHIVE : s’applique à : SQL Server 2014 (12.x) et versions ultérieures

Note: Les index de recherche en texte intégral sont compressés dans n’importe quelle édition de SQL Server.
data_compression_desc nvarchar(60) Indique l'é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.

Autorisations

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

Exemples

La requête suivante retourne tout l’objet d’une base de données, la quantité d’espace utilisé dans chaque objet et les informations de partition associées à chaque objet.

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;

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