sp_indexes (Transact-SQL)

Aplica-se a:SQL Server

Retorna informações de índice para a tabela remota especificada.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

@table_server= [ ] 'table_server'
É o nome de um servidor vinculado que executa o SQL Server para o qual as informações da tabela estão sendo solicitadas. table_server é sysname, sem padrão.

@table_name= [ ] 'table_name'
É o nome da tabela remota para a qual fornecer informações de índice. table_name é sysname, com um padrão de NULL. Se NULL, todas as tabelas no banco de dados especificado serão retornadas.

@table_schema= [ ] 'table_schema'
Especifica o esquema da tabela. No ambiente do SQL Server, isso corresponde ao proprietário da tabela. table_schema é sysname, com um padrão de NULL.

@table_catalog= [ ] 'table_db'
É o nome do banco de dados no qual table_name reside. table_db é sysname, com um padrão de NULL. Se NULL, table_db padrão para master.

@index_name= [ ] 'index_name'
É o nome do índice para o qual as informações estão sendo solicitadas. index é sysname, com um padrão de NULL.

@is_unique= [ ] 'is_unique'
É o tipo de índice para o qual retornar informações. is_unique é bit, com um padrão de NULL, e pode ser um dos seguintes valores.

Valor Descrição
1 Retorna informações sobre índices exclusivos.
0 Retorna informações sobre índices que não são exclusivos.
NULL Retorna informações sobre todos os índices.

Conjuntos de resultados

Nome da coluna Data type Descrição
TABLE_CAT sysname Nome do banco de dados no qual a tabela especificada reside.
TABLE_SCHEM sysname Esquema para a tabela.
TABLE_NAME sysname Nome da tabela remota.
NON_UNIQUE smallint Se o índice é único ou não exclusivo:

0 = Único

1 = Não é único
INDEX_QUALIFER sysname Nome do proprietário do índice. Alguns produtos DBMS permitem que usuários diferentes do proprietário da tabela criem índices. No SQL Server, essa coluna é sempre a mesma que TABLE_NAME.
INDEX_NAME sysname Nome do índice.
TYPE smallint Tipo de índice:

0 = Estatísticas de uma tabela

1 = Agrupado

2 = Hashed

3 = Outros
ORDINAL_POSITION int Posição ordinal da coluna no índice. A primeira coluna no índice é 1. Esta coluna sempre retorna um valor.
COLUMN_NAME sysname É o nome correspondente da coluna para cada coluna do TABLE_NAME retornado.
ASC_OR_DESC varchar É a ordem usada no agrupamento:

A = Ascendente

D = Descendente

NULL = Não aplicável

O SQL Server sempre retorna A.
CARDINALITY int É o número de linhas na tabela ou valores exclusivos no índice.
PAGES int É o número de páginas para armazenar o índice ou tabela.
FILTER_CONDITION Nvarchar(4000) SQL Server não retorna um valor.

Permissões

Requer a permissão SELECT no esquema.

Exemplos

O exemplo a seguir retorna todas as Employees informações de índice da tabela do AdventureWorks2022 banco de dados no Seattle1 servidor vinculado.

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

Veja também

Procedimentos armazenados de consultas distribuídas (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)
Procedimentos armazenados do sistema (Transact-SQL)