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 = ] 'table_server'   
     [ , [ @table_name = ] 'table_name' ]   
     [ , [ @table_schema = ] 'table_schema' ]   
     [ , [ @table_catalog = ] 'table_db' ]   
     [ , [ @index_name = ] 'index_name' ]   
     [ , [ @is_unique = ] 'is_unique' ]  

Arguments

[ @table_server= ] '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= ] 'table_name'
Nom de la table distante pour laquelle les informations d'index sont demandées. table_name est sysname, avec une valeur par défaut null. Si la valeur de cet argument est NULL, toutes les tables de la base de données spécifiée sont retournées.

[ @table_schema= ] 'table_schema'
Spécifie le schéma de table. Dans l’environnement SQL Server, cela correspond au propriétaire de la table. table_schema est sysname, avec la valeur null par défaut.

[ @table_catalog= ] 'table_db'
Nom de la base de données dans laquelle réside table_name . table_db est sysname, avec une valeur par défaut null. Si la valeur est NULL, table_db la valeur par défaut est master.

[ @index_name= ] 'index_name'
Nom de l'index pour lequel les informations sont demandées. index est sysname, avec une valeur par défaut null.

[ @is_unique= ] 'is_unique'
Type d'index pour lequel les informations sont demandées. is_unique est bit, avec une valeur null par défaut et peut être l’une des valeurs suivantes.

valeur Description
1 Renvoie des informations sur les index uniques.
0 Renvoie des informations sur les index qui ne sont pas uniques.
NULL Renvoie des informations sur tous les index.

Jeux de résultats

Nom de 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_QUALIFIER sysname Nom du propriétaire de l'index. Certains produits SGBD acceptent que des utilisateurs autres que le propriétaire de la table créent des index. Dans SQL Server, cette colonne est toujours identique à TABLE_NAME.
INDEX_NAME sysname Nom de l'index.
TYPE smallint Type de l'index :

0 = Statistiques pour une table

1 = Clustered

2 = Haché

3 = Autre
ORDINAL_POSITION int Numéro d'ordre de la colonne dans l'index. La première colonne dans l'index est 1. Cette colonne retourne toujours une valeur .
COLUMN_NAME sysname Nom correspondant de chaque colonne de la table TABLE_NAME renvoyée.
ASC_OR_DESC varchar Ordre utilisé dans les classements :

A = Croissant

D = Décroissant

NULL = Non applicable

SQL Server retourne toujours A.
CARDINALITY int Nombre de lignes dans la table ou valeurs uniques dans l’index.
PAGES int Nombre de pages pour le stockage de l'index ou de la table.
FILTER_CONDITION nvarchar(4000) SQL Server ne retourne pas de valeur.

Autorisations

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

Examples

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

Voir aussi

Procédures stockées de requêtes distribuées (Transact-SQL)
sp_catalogs (Transact-SQL)
sp_column_privileges (Transact-SQL)
sp_foreignkeys (Transact-SQL)
sp_linkedservers (Transact-SQL)
sp_tables_ex (Transact-SQL)
sp_table_privileges (Transact-SQL)
Procédures stockées système (Transact-SQL)