sp_indexes (Transact-SQL)

S’applique à : SQL Server

Renvoie les informations d'index pour la table distante spécifiée.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_indexes
    [ @table_server = ] N'table_server'
    [ , [ @table_name = ] N'table_name' ]
    [ , [ @table_schema = ] N'table_schema' ]
    [ , [ @table_catalog = ] N'table_catalog' ]
    [ , [ @index_name = ] N'index_name' ]
    [ , [ @is_unique = ] is_unique ]
[ ; ]

Arguments

[ @table_server = ] N’table_server'

Nom d’un serveur lié exécutant SQL Server pour lequel les informations de table sont demandées. @table_server est sysname, sans valeur par défaut.

[ @table_name = ] N'table_name'

Nom de la table distante pour laquelle fournir des informations d’index. @table_name est sysname, avec la valeur par défaut NULL. Si NULL, toutes les tables de la base de données spécifiée sont retournées.

[ @table_schema = ] N’table_schema'

Spécifie le schéma de table. @table_schema est sysname, avec la valeur par défaut NULL. Dans l’environnement SQL Server, cette valeur correspond au propriétaire de la table.

[ @table_catalog = ] N’table_catalog'

Nom de la base de données dans laquelle réside @table_name . @table_catalog est sysname, avec la valeur par défaut NULL. Si NULL, @table_catalog valeur masterpar défaut .

[ @index_name = ] N’index_name'

Nom de l’index pour lequel les informations sont demandées. @index_name est sysname, avec la valeur par défaut NULL.

[ @is_unique = ] is_unique

Type d’index pour lequel retourner des informations. @is_unique est bit et peut être l’une des valeurs suivantes.

Valeur Description
1 Renvoie des informations sur les index uniques.
0 Retourne des informations sur les index qui ne sont pas uniques.
NULL (valeur par défaut) Renvoie des informations sur tous les index.

Jeu de résultats

Nom de la colonne Type de données Description
TABLE_CAT sysname Nom de la base de données qui contient la table spécifiée.
TABLE_SCHEM sysname Schéma de la table.
TABLE_NAME sysname Nom de la table distante.
NON_UNIQUE smallint Indique si l'index est unique ou non :

0 = Unique
1 = Non unique
INDEX_QUALIFER sysname Nom du propriétaire de l'index. Certains produits de système de gestion de base de données (SGBD) permettent aux utilisateurs autres que le propriétaire de la table de créer des index. Dans SQL Server, cette colonne est toujours la même que TABLE_NAME.
INDEX_NAME sysname Nom de l'index.
TYPE smallint Type de l'index :

0 = Statistiques d’une table
1 = Clustered
2 = Hachage
3 = Autre
ORDINAL_POSITION int Numéro d'ordre de la colonne dans l'index. La première colonne de l’index est 1. Cette colonne renvoie toujours une valeur.
COLUMN_NAME sysname Nom correspondant de la colonne pour chaque colonne du TABLE_NAME retour.
ASC_OR_DESC varchar Ordre utilisé dans le classement :

A = Croissant
D = Décroissant
NULL = Non applicable

SQL Server retourne Atoujours .
CARDINALITY int Nombre de lignes dans la table ou de valeurs uniques dans l'index.
PAGES int Nombre de pages à stocker l’index ou la table.
FILTER_CONDITION nvarchar(4000) SQL Server ne retourne pas de valeur.

autorisations

Nécessite l’autorisation SELECT sur le schéma.

Exemples

L'exemple suivant renvoie toutes les informations d'index à partir de la table Employees de la base de données AdventureWorks2022 sur le serveur lié Seattle1.

EXEC sp_indexes @table_server = 'Seattle1',
    @table_name = 'Employee',
    @table_schema = 'HumanResources',
    @table_catalog = 'AdventureWorks2022';