sp_indexes (Transact-SQL)

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

Ícone de vínculo de tópicoConvenções de sintaxe 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 executando 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 as informações de índice devem ser fornecidas. table_name é sysname, com um padrão NULL. Se NULL, todas as tabelas no banco de dados especificado são retornadas.

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

  • [ @table_catalog = ] 'table_db'
    É o nome do banco de dados no qual o table_name reside. table_db é sysname, com um padrão NULL. Se NULL, table_db padroniza a 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 NULL.

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

    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

Tipo de dados

Descrição

TABLE_CAT

sysname

Nome do banco de dados onde a tabela especificada reside.

TABLE_SCHEM

sysname

Esquema da tabela.

TABLE_NAME

sysname

Nome da tabela remota.

NON_UNIQUE

smallint

Se o índice é exclusivo ou não exclusivo:

0 = Exclusivo

1 = Não exclusivo

INDEX_QUALIFER

sysname

Nome do proprietário do índice. Alguns produtos de DBMS permitem aos usuários, que não o proprietário da tabela, criarem índices. No SQL Server, esta coluna é sempre igual a TABLE_NAME.

INDEX_NAME

sysname

O nome do índice.

TYPE

smallint

Tipo de índice:

0 = Estatísticas para uma tabela

1 = Clusterizado

2 = Com hash

3 = Outro

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 de TABLE_NAME retornada.

ASC_OR_DESC

varchar

É a ordem usada no agrupamento:

A = Crescente

D = Decrescente

NULL = Não aplicável

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 a tabela.

FILTER_CONDITION

nvarchar(4000)

O SQL Server não retorna um valor.

Permissões

Requer a permissão SELECT no esquema.

Exemplos

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

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