Partilhar via


sys.indexes (Transact-SQL)

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Base de dados SQL no Microsoft Fabric

Contém uma linha por índice ou heap de um objeto tabular, como uma tabela, modo de exibição ou função com valor de tabela.

Nome da coluna Tipo de dados Description
object_id int ID do objeto ao qual esse índice pertence.
name sysname Nome do índice. name é exclusivo apenas dentro do objeto.

NULL = Pilha
index_id int ID do índice. index_id é exclusivo apenas dentro do objeto.

0 = Pilha
1 = Índice agrupado
> 1 = Índice não agrupado
type tinyint Tipo de índice:

0 = Pilha
1 = Armazenamento de linhas agrupado (árvore B)
2 = Armazenamento de linhas não agrupado (árvore B)
3 = XML
4 = Espacial
5 = Índice columnstore agrupado 2
6 = índice columnstore não clusterizado 1
7 = Índice de hash não clusterizado 2
9 = JSON 5
type_desc nvarchar(60) Descrição do tipo de índice:

- Pilha
- AGRUPADOS
- NÃO AGRUPADO
- XML
- ESPACIAL
- COLUMNSTORE AGRUPADO 2
- COLUMNSTORE NÃO AGRUPADO 1
- HASH NÃO AGRUPADO 2, 8
- JSON 5
is_unique bit 1 = O índice é único.
0 = O índice não é exclusivo.

Sempre 0 para índices columnstore clusterizados.
data_space_id int ID do espaço de dados para este índice. O espaço de dados é um grupo de arquivos ou esquema de partição.

0 = object_id é uma função com valor de tabela ou índice na memória.
ignore_dup_key bit 1 = IGNORE_DUP_KEY está LIGADO.
0 = IGNORE_DUP_KEY está DESLIGADO.
is_primary_key bit 1 = O índice faz parte de uma restrição de CHAVE PRIMÁRIA.

Sempre 0 para índices columnstore clusterizados.
is_unique_constraint bit 1 = O índice faz parte de uma restrição ÚNICA.

Sempre 0 para índices columnstore clusterizados.
fill_factor tinyint > 0 = percentagem de FILLFACTOR utilizada quando o índice foi criado ou reconstruído.
0 = Valor padrão

Sempre 0 para índices columnstore clusterizados.
is_padded bit 1 = PADINDEX está LIGADO.
0 = PADINDEX está DESLIGADO.

Sempre 0 para índices columnstore clusterizados.
is_disabled bit 1 = O índice está desativado.
0 = O índice não está desativado.
is_hypothetical bit 1 = O índice é hipotético e não pode ser usado diretamente como um caminho de acesso a dados. Os índices hipotéticos contêm estatísticas em nível de coluna.

0 = O índice não é hipotético.
allow_row_locks bit 1 = O índice permite bloqueios de linha.
0 = O índice não permite bloqueios de linha.

Sempre 0 para índices columnstore clusterizados.
allow_page_locks bit 1 = O índice permite bloqueios de página.
0 = O índice não permite bloqueios de página.

Sempre 0 para índices columnstore clusterizados.
has_filter bit 1 = O índice tem um filtro e contém apenas linhas que satisfazem a definição do filtro.
0 = O índice não tem filtro.
filter_definition nvarchar(max) Expressão para o subconjunto de linhas incluídas no índice filtrado.

NULL para heap, índice não filtrado ou permissões insuficientes na tabela.
compression_delay int > 0 = Atraso de compressão do índice Columnstore especificado em minutos.

NULL = O atraso de compactação do grupo de linhas do índice Columnstore é gerenciado automaticamente.
suppress_dup_key_messages 3, 6, 7 bit 1 = O índice é configurado para suprimir mensagens de chave duplicadas durante uma operação de reconstrução do índice.

0 = O índice não está configurado para suprimir mensagens de chave duplicadas durante uma operação de reconstrução do índice.
auto_created 6 bit 1 = O índice foi criado pelo ajuste automático.
0 = O índice foi criado pelo usuário.
optimize_for_sequential_key 4, 6, 7 bit 1 = O índice tem a otimização de inserção da última página ativada.
0 = Valor padrão. O índice tem a otimização de inserção da última página desativada.

1Aplica-se a: SQL Server 2012 (11.x) e versões posteriores.

2Aplica-se a: SQL Server 2014 (12.x) e versões posteriores.

3Aplica-se a: SQL Server 2017 (14.x) e versões posteriores.

4Aplica-se a: SQL Server 2019 (15.x) e versões posteriores.

5Aplica-se a: SQL Server 2025 (17.x) e versões posteriores.

6Aplica-se a: Banco de Dados SQL do Azure.

7Aplica-se a: Instância Gerenciada SQL do Azure.

NONCLUSTERED HASH 8 índices são suportados apenas em tabelas com otimização de memória. A sys.hash_indexes exibição mostra os índices de hash atuais e as propriedades de hash. Para obter mais informações, consulte sys.hash_indexes.

Permissions

A visibilidade dos metadados nas visualizações de catálogo é limitada aos itens de segurança que um utilizador possui ou nos quais o utilizador recebeu alguma permissão. Para obter mais informações, consulte Configuração de visibilidade de metadados.

Examples

O exemplo seguinte devolve todos os índices da tabela Production.Product na base de dados AdventureWorks2025.

SELECT i.name AS index_name,
       i.type_desc,
       is_unique,
       ds.type_desc AS filegroup_or_partition_scheme,
       ds.name AS filegroup_or_partition_scheme_name,
       ignore_dup_key,
       is_primary_key,
       is_unique_constraint,
       fill_factor,
       is_padded,
       is_disabled,
       allow_row_locks,
       allow_page_locks
FROM sys.indexes AS i
     INNER JOIN sys.data_spaces AS ds
         ON i.data_space_id = ds.data_space_id
WHERE is_hypothetical = 0
      AND i.index_id <> 0
      AND i.object_id = OBJECT_ID('Production.Product');
GO