sp_indexes (Transact-SQL)
Retorna informações de índice da tabela remota especificada.
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'
Consulte também