Partilhar via


sp_indexes (Transact-SQL)

Aplica-se a:SQL Server

Devolve a informação do índice para a tabela remota especificada.

Transact-SQL convenções de sintaxe

Sintaxe

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'

O nome de um servidor ligado a correr SQL Server para o qual a informação da tabela está a ser solicitada. @table_server é sysname, sem padrão.

[ @table_name = ] N'table_name'

O nome da tabela remota para a qual fornecer a informação do índice. @table_name é sysname, com um padrão de NULL. Se NULL, todas as tabelas na base de dados especificada são devolvidas.

[ @table_schema = ] N'table_schema'

Especifica o esquema da tabela. @table_schema é sysname, com o padrão de NULL. No ambiente SQL Server, este valor corresponde ao proprietário da tabela.

[ @table_catalog = ] N'table_catalog'

O nome da base de dados onde @table_name reside. @table_catalog é sysname, com um padrão de NULL. Se NULL, @table_catalog por defeito para master.

[ @index_name = ] N'index_name'

O nome do índice para o qual a informação está a ser solicitada. @index_name é sysname, com um padrão de NULL.

[ @is_unique = ] is_unique

O tipo de índice para o qual devolver a informação. @is_unique é bit, e pode ser um dos seguintes valores.

Valor Description
1 Dados de retorno sobre índices únicos.
0 Retorna informações sobre índices que não são únicos.
NULL (padrão) Devolve informações sobre todos os índices.

Conjunto de resultados

Nome da coluna Tipo de dados Description
TABLE_CAT sysname Nome da base de dados onde reside a tabela especificada.
TABLE_SCHEM sysname Esquema para a mesa.
TABLE_NAME sysname Nome da mesa remota.
NON_UNIQUE smallint Se o índice é único ou não:

0 = Único
1 = Não único
INDEX_QUALIFER sysname Nome do proprietário do índice. Alguns produtos de sistemas de gestão de bases de dados (SGBD) permitem que utilizadores que não sejam o proprietário da tabela criem índices. No SQL Server, esta coluna é sempre a mesma que TABLE_NAME.
INDEX_NAME sysname Nome do índice.
TYPE smallint Tipo de índice:

0 = Estatísticas para uma tabela
1 = Agrupados
2 = Hashado
3 = Outros
ORDINAL_POSITION int Posição ordinal da coluna no índice. A primeira coluna do índice é 1. Esta coluna devolve sempre um valor.
COLUMN_NAME sysname O nome correspondente da coluna para cada coluna do TABLE_NAME devolvido.
ASC_OR_DESC Varchar A ordem usada na colação:

A = Ascendente
D = Descendente
NULL = Não aplicável

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

Permissions

Requer SELECT permissão no esquema.

Examples

O exemplo seguinte devolve toda a informação de índice da Employees tabela da AdventureWorks2025 base de dados no Seattle1 servidor ligado.

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