Compartilhar via


sys.indexes (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)Banco de dados SQL no Microsoft Fabric Preview

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

Nome da coluna Tipo de dados Description
object_id int ID do objeto ao qual este índice pertence.
name sysname Nome do índice. o nome é exclusivo somente dentro do objeto.

NULL = Heap
index_id int ID do índice. index_id é exclusivo somente dentro do objeto.

0 = Heap
1 = Índice clusterizado
> 1 = Índice não clusterizado
type tinyint Tipo de índice:

0 = Heap
1 = rowstore clusterizado (árvore B)
2 = rowstore não clusterizado (árvore B)
3 = XML
4 = Espacial
5 = Índice columnstore clusterizado 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 de tipo de índice:

-HEAP
-CLUSTERIZADO
- NÃO CLUSTERIZADO
-XML
-ESPACIAL
- COLUMNSTORE 2 CLUSTERIZADO
- COLUMNSTORE 1 NÃO CLUSTERIZADO
- HASH NÃO CLUSTERIZADO 2, 8
- JSON 5
is_unique bit 1 = O índice é exclusivo.
0 = O índice não é exclusivo.

Sempre 0 para índices columnstore clusterizados.
data_space_id int A ID do espaço de dados deste índice. O espaço de dados é um grupo de arquivos ou um 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 é OFF.
0 = IGNORE_DUP_KEY está OFF.
is_primary_key bit 1 = O índice faz parte de uma restrição PRIMARY KEY.

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

Sempre 0 para índices columnstore clusterizados.
fill_factor tinyint > 0 = porcentagem FILLFACTOR usada quando o índice foi criado ou recriado.
0 = Valor padrão

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

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

0 = Í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 só contém linhas que atendem à definição do filtro.
0 = O índice não tem um filtro.
filter_definition nvarchar(max) Expressão do subconjunto de linhas incluído no índice filtrado.

NULL para heap, índice não filtrado ou permissões insuficientes na tabela.
compression_delay int > 0 = Atraso de compactaçã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 está configurado para suprimir mensagens de chave duplicadas durante uma operação de recompilação de índice.

0 = O índice não está configurado para suprimir mensagens de chave duplicadas durante uma operação de recompilação de í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 habilitada.
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: Versão prévia do SQL Server 2025 (17.x) e versões posteriores.

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

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

suporte para 8 NONCLUSTERED HASH índices 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 em exibições do catálogo está limitada aos protegíveis que pertencem a um usuário ou para os quais o usuário recebeu permissão. Para obter mais informações, consulte a configuração de visibilidade de metadados.

Examples

O exemplo a seguir retorna todos os índices da tabela Production.Product no banco de dados AdventureWorks2022.

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