sys.sysindexes (Transact-SQL)sys.sysindexes (Transact-SQL)

S’APPLIQUE À : ouiSQL Server nonAzure SQL Database nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Contient une ligne pour chaque index et chaque table de la base de données active.Contains one row for each index and table in the current database. Cette vue ne prend pas en charge les index XML.XML indexes are not supported in this view. Tables et index partitionnés ne sont pas entièrement pris en charge dans cette vue ; utiliser le sys.indexes vue de catalogue à la place.Partitioned tables and indexes are not fully supported in this view; use the sys.indexes catalog view instead.

Important

Cette table système SQL Server 2000 est incluse sous la forme d'une vue pour la compatibilité descendante.This SQL Server 2000 system table is included as a view for backward compatibility. Nous vous recommandons plutôt d’utiliser les vues système SQL Server actuelles.We recommend that you use the current SQL Server system views instead. Pour trouver la ou les vues système équivalentes, consultez Mappage des tables système avec les vues du système (Transact-SQL).To find the equivalent system view or views, see Mapping System Tables to System Views (Transact-SQL). Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server.This feature will be removed in a future version of Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Nom de la colonneColumn name Type de donnéesData type DescriptionDescription
idid Intint Identificateur de la table à laquelle l'index appartient.ID of the table to which the index belongs.
statusstatus intint Informations sur l'état du système.System-status information.

Identifié à titre d'information uniquement.Identified for informational purposes only. Non pris en charge.Not supported. La compatibilité future n'est pas garantie.Future compatibility is not guaranteed.
firstfirst binary(6)binary(6) Pointeur vers la première page ou la page racine.Pointer to the first or root page.

Inutilisé lorsque indid = 0.Unused when indid = 0.

NULL = l’Index est partitionné lorsque indid > 1.NULL = Index is partitioned when indid > 1.

NULL = la Table est partitionnée quand indid est 0 ou 1.NULL = Table is partitioned when indid is 0 or 1.
indidindid smallintsmallint Identificateur de l'index :ID of the index:

0 = Segment de mémoire0 = Heap

1 = index cluster1 = Clustered index

> 1 = index non cluster>1 = Nonclustered index
Racineroot binary(6)binary(6) Pour indid > = 1, racine est le pointeur vers la page racine.For indid >= 1, root is the pointer to the root page.

Inutilisé lorsque indid = 0.Unused when indid = 0.

NULL = l’Index est partitionné lorsque indid > 1.NULL = Index is partitioned when indid > 1.

NULL = la Table est partitionnée quand indid est 0 ou 1.NULL = Table is partitioned when indid is 0 or 1.
minlenminlen smallintsmallint Taille minimale d'une ligne.Minimum size of a row.
keycntkeycnt smallintsmallint Nombre de clés.Number of keys.
groupidgroupid smallintsmallint Identificateur du groupe de fichiers sur lequel l'objet a été créé.Filegroup ID on which the object was created.

NULL = l’Index est partitionné lorsque indid > 1.NULL = Index is partitioned when indid > 1.

NULL = la Table est partitionnée quand indid est 0 ou 1.NULL = Table is partitioned when indid is 0 or 1.
dpagesdpages intint Pour indid = 0 ou indid = 1, dpages est le nombre de pages de données utilisé.For indid = 0 or indid = 1, dpages is the count of data pages used.

Pour indid > 1, dpages est le nombre de pages d’index utilisé.For indid > 1, dpages is the count of index pages used.

0 = l’Index est partitionné lorsque indid > 1.0 = Index is partitioned when indid > 1.

0 = la table est partitionnée quand indid est 0 ou 1.0 = Table is partitioned when indid is 0 or 1.

Ne fournit pas de résultats précis en cas de dépassement de capacité des données sur des lignes.Does not yield accurate results if row-overflow occurs.
reservedreserved intint Pour indid = 0 ou indid = 1, réservé est le nombre de pages allouées à tous les index et les données de la table.For indid = 0 or indid = 1, reserved is the count of pages allocated for all indexes and table data.

Pour indid > 1, réservé est le nombre de pages allouées à l’index.For indid > 1, reserved is the count of pages allocated for the index.

0 = l’Index est partitionné lorsque indid > 1.0 = Index is partitioned when indid > 1.

0 = la table est partitionnée quand indid est 0 ou 1.0 = Table is partitioned when indid is 0 or 1.

Ne fournit pas de résultats précis en cas de dépassement de capacité des données sur des lignes.Does not yield accurate results if row-overflow occurs.
utiliséused intint Pour indid = 0 ou indid = 1, utilisé est le nombre total de pages utilisé pour toutes les données de table et index.For indid = 0 or indid = 1, used is the count of the total pages used for all index and table data.

Pour indid > 1, utilisé est le nombre de pages utilisées pour l’index.For indid > 1, used is the count of pages used for the index.

0 = l’Index est partitionné lorsque indid > 1.0 = Index is partitioned when indid > 1.

0 = la table est partitionnée quand indid est 0 ou 1.0 = Table is partitioned when indid is 0 or 1.

Ne fournit pas de résultats précis en cas de dépassement de capacité des données sur des lignes.Does not yield accurate results if row-overflow occurs.
rowcntrowcnt bigintbigint Nombre de lignes de niveau données indid = 0 et indid = 1.Data-level row count based on indid = 0 and indid = 1.

0 = l’Index est partitionné lorsque indid > 1.0 = Index is partitioned when indid > 1.

0 = la table est partitionnée quand indid est 0 ou 1.0 = Table is partitioned when indid is 0 or 1.
rowmodctrrowmodctr intint Compte le nombre total de lignes insérées, supprimées ou mises à jour depuis la dernière mise à jour des statistiques de la table.Counts the total number of inserted, deleted, or updated rows since the last time statistics were updated for the table.

0 = l’Index est partitionné lorsque indid > 1.0 = Index is partitioned when indid > 1.

0 = la table est partitionnée quand indid est 0 ou 1.0 = Table is partitioned when indid is 0 or 1.

Dans SQL Server 2005 (9.x)SQL Server 2005 (9.x) et versions ultérieures, rowmodctr n’est pas entièrement compatible avec les versions antérieures.In SQL Server 2005 (9.x)SQL Server 2005 (9.x) and later, rowmodctr is not fully compatible with earlier versions. Pour plus d'informations, consultez la section Notes.For more information, see Remarks.
reserved3reserved3 Intint Retourne 0.Returns 0.

Identifié à titre d'information uniquement.Identified for informational purposes only. Non pris en charge.Not supported. La compatibilité future n'est pas garantie.Future compatibility is not guaranteed.
reserved4reserved4 intint Retourne 0.Returns 0.

Identifié à titre d'information uniquement.Identified for informational purposes only. Non pris en charge.Not supported. La compatibilité future n'est pas garantie.Future compatibility is not guaranteed.
xmaxlenxmaxlen smallintsmallint Taille maximale d'une ligneMaximum size of a row
maxirowmaxirow smallintsmallint Taille maximale d'une ligne d'index non-feuille.Maximum size of a nonleaf index row.

Dans SQL Server 2005 (9.x)SQL Server 2005 (9.x) et versions ultérieures, maxirow n’est pas entièrement compatible avec les versions antérieures.In SQL Server 2005 (9.x)SQL Server 2005 (9.x) and later, maxirow is not fully compatible with earlier versions.
OrigFillFactorOrigFillFactor tinyinttinyint Valeur d'origine du taux de remplissage utilisé lors de la création de l'index.Original fill factor value used when the index was created. Cette valeur n'est pas conservée ; elle peut toutefois s'avérer utile si vous devez recréer un index et si vous avez oublié le taux de remplissage utilisé.This value is not maintained; however, it can be helpful if you have to re-create an index and do not remember the fill factor value that was used.
StatVersionStatVersion tinyinttinyint Retourne 0.Returns 0.

Identifié à titre d'information uniquement.Identified for informational purposes only. Non pris en charge.Not supported. La compatibilité future n'est pas garantie.Future compatibility is not guaranteed.
reserved2reserved2 intint Retourne 0.Returns 0.

Identifié à titre d'information uniquement.Identified for informational purposes only. Non pris en charge.Not supported. La compatibilité future n'est pas garantie.Future compatibility is not guaranteed.
FirstIAMFirstIAM binary(6)binary(6) NULL = L'index est partitionné.NULL = Index is partitioned.

Identifié à titre d'information uniquement.Identified for informational purposes only. Non pris en charge.Not supported. La compatibilité future n'est pas garantie.Future compatibility is not guaranteed.
impidimpid smallintsmallint Indicateur d'implémentation de l'index.Index implementation flag.

Retourne 0.Returns 0.

Identifié à titre d'information uniquement.Identified for informational purposes only. Non pris en charge.Not supported. La compatibilité future n'est pas garantie.Future compatibility is not guaranteed.
lockflagslockflags smallintsmallint Utilisé pour limiter les granularités de verrouillage d'un index.Used to constrain the considered lock granularities for an index. Par exemple, une table de recherche qui est essentiellement accessible en lecture seule peut être configurée pour poser uniquement des verrous de niveau table, de façon à minimiser les coûts de verrouillage.For example, to minimize locking cost, a lookup table that is essentially read-only could be set up to do only table-level locking.
pgmodctrpgmodctr intint Retourne 0.Returns 0.

Identifié à titre d'information uniquement.Identified for informational purposes only. Non pris en charge.Not supported. La compatibilité future n'est pas garantie.Future compatibility is not guaranteed.
Cléskeys varbinary(816)varbinary(816) Liste des identificateurs de colonne pour les colonnes qui constituent la clé d'index.List of the column IDs of the columns that make up the index key.

Renvoie NULL.Returns NULL.

Pour afficher les colonnes clés d’index, utilisez sys.sysindexkeys.To display the index key columns, use sys.sysindexkeys.
namename sysnamesysname Nom de l'index ou de la statistique.Name of the index or statistic. Retourne la valeur NULL lorsque indid = 0.Returns NULL when indid = 0. Modifiez votre application pour rechercher le nom d'un segment de mémoire de valeur NULL.Modify your application to look for a NULL heap name.
statblobstatblob imageimage Statistiques sur les objets binaires volumineux (BLOB).Statistics binary large object (BLOB).

Renvoie NULL.Returns NULL.
maxlenmaxlen Intint Identifié à titre d'information uniquement.Identified for informational purposes only. Non pris en charge.Not supported. La compatibilité future n'est pas garantie.Future compatibility is not guaranteed.
rowsrows intint Nombre de lignes de niveau données indid = 0 et indid = 1, et la valeur est répétée pour indid > 1.Data-level row count based on indid = 0 and indid = 1, and the value is repeated for indid >1.

NotesRemarks

Les colonnes définies comme réservées ne doivent pas être utilisées.Columns defined as reserved should not be used.

Les colonnes dpages, réservé, et utilisé ne retourne pas de résultats précis si la table ou l’index contient des données dans l’unité d’allocation ROW_OVERFLOW.The columns dpages, reserved, and used will not return accurate results if the table or index contains data in the ROW_OVERFLOW allocation unit. De plus, les nombres de pages de chaque index sont suivis séparément et ne sont pas agrégés pour la table de base.In addition, the page counts for each index are tracked separately and are not aggregated for the base table. Pour afficher les nombres de pages, utilisez le sys.allocation_units ou sys.partitions affichages catalogue, ou le sys.dm_db_partition_stats vue de gestion dynamique.To view page counts, use the sys.allocation_units or sys.partitions catalog views, or the sys.dm_db_partition_stats dynamic management view.

Dans SQL Server 2000 et versions antérieures, le Moteur de base de donnéesDatabase Engine conservait les compteurs de modifications de niveau ligne.In SQL Server 2000 and earlier, the Moteur de base de donnéesDatabase Engine maintained row-level modification counters. De tels compteurs sont maintenant gérés au niveau colonne.Such counters are now maintained at the column level. Par conséquent, le rowmodctr colonne est calculée et produit des résultats qui sont similaires à ceux dans les versions antérieures, mais ne sont pas exacts.Therefore, the rowmodctr column is calculated and produces results that are similar to the results in earlier versions, but are not exact.

Si vous utilisez la valeur de rowmodctr pour déterminer à quel moment mettre à jour des statistiques, envisagez les solutions suivantes :If you use the value in rowmodctr to determine when to update statistics, consider the following solutions:

  • Ne rien faire.Do nothing. La nouvelle rowmodctr valeur fréquemment vous permet de déterminer quand mettre à jour des statistiques, le comportement étant raisonnablement proche des résultats des versions antérieures.The new rowmodctr value will frequently help you determine when to update statistics because the behavior is reasonably close to the results of earlier versions.

  • Utiliser AUTO_UPDATE_STATISTICS.Use AUTO_UPDATE_STATISTICS. Pour plus d’informations, consultez statistiques.For more information see, Statistics.

  • Utiliser une limite de temps pour déterminer à quel moment mettre à jour les statistiques.Use a time limit to determine when to update statistics. (par exemple, toutes les heures, chaque jour ou chaque semaine).For example, every hour, every day, or every week.

  • Utiliser les informations de niveau application pour déterminer à quel moment mettre à jour les statistiques.Use application-level information to determine when to update statistics. Par exemple, chaque fois que la valeur maximale d’un identité colonne change en plus de 10 000 ou chaque fois qu’une copie par bloc est effectuée.For example, every time the maximum value of an identity column changes by more than 10,000, or every time a bulk insert operation is performed.

Voir aussiSee Also

Affichages catalogue (Transact-SQL) Catalog Views (Transact-SQL)
Mappage des Tables système avec les vues système (Transact-SQL) Mapping System Tables to System Views (Transact-SQL)
sys.indexes (Transact-SQL)sys.indexes (Transact-SQL)