sys.indexes (Transact-SQL)

Aplica-se a: simSQL Server (todas as versões compatíveis) SimBanco de Dados SQL do Azure SimInstância Gerenciada do Azure SQL simAzure Synapse Analytics simParallel Data Warehouse

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 Descrição
object_id int ID do objeto ao qual este índice pertence.
name sysname Nome do índice. name é exclusivo somente dentro do objeto .

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

0 = Heap

1 ou 5 = Índice clusterado (árvore B, columnstore)

> 1 e <> 5 = Índice nãoclusterado
tipo tinyint Tipo de índice:

0 = Heap

1 = Clusterizado

2 = Não clusterizado

3 = XML

4 = Espacial

5 = Índice columnstore clusterado. Aplica-se a: SQL Server 2014 (12.x) e posterior.

6 = Índice columnstore nãoclusterado. Aplica-se a: SQL Server 2012 (11.x) e posterior.

7 = Índice de hash nãoclusterado. Aplica-se a: SQL Server 2014 (12.x) e posterior.
type_desc nvarchar(60) Descrição de tipo de índice:

HEAP

CLUSTERED

NONCLUSTERED

XML

SPATIAL

CLUSTERED COLUMNSTORE – aplica-se a: SQL Server 2014 (12.x) e posterior.

COLUMNSTORE NÃOCLUSTERED – Aplica-se a: SQL Server 2012 (11.x) e posterior.

HASH NÃOCLUSTERED: os índices DE HASH NÃOCLUSTERED têm suporte apenas em tabelas com otimização de memória. A exibição sys.hash_indexes mostra os índices de hash atuais e as propriedades de hash. Para obter mais informações, consulte sys.hash_indexes (transact-SQL). Aplica-se a: SQL Server 2014 (12.x) e posterior.
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 está ON.

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 = percentual de FILLFACTOR usado quando o índice foi criado ou reconstruído.

0 = Valor padrão

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

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 = 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 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 de índice columnstore especificado em minutos.

NULL = O atraso de compactação do rowgroup do índice columnstore é gerenciado automaticamente.
suppress_dup_key_messages bit 1 = O índice é configurado para suprimir mensagens de chave duplicadas durante uma operação de recomposição de índice.

0 = O índice não está configurado para suprimir mensagens de chave duplicadas durante uma operação de recomposição de índice.

Aplica-se a: SQL Server (Começando com SQL Server 2017 (14.x) ), Banco de Dados SQL do Azure e Instância Gerenciada do Azure SQL
auto_created bit 1 = O índice foi criado pelo ajuste automático.

0 = O índice foi criado pelo usuário.

Aplica-se a: Banco de Dados SQL do Azure
optimize_for_sequential_key bit 1 = O índice tem a otimização de inserção de última página habilitada.

0 = Valor padrão. O índice tem a otimização de inserção de última página desabilitada.

Aplica-se a: SQL Server (Começando com SQL Server 2019 (15.x) ), Banco de Dados SQL do Azure e Instância Gerenciada do Azure SQL

Permissões

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 Metadata Visibility Configuration.

Exemplos

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

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  

Consulte Também

Exibições de catálogo de objeto(Transact-SQL)
Exibições de catálogo (Transact-SQL)
sys.index_columns (Transact-SQL)
sys.xml_indexes (Transact-SQL)
sys.objects (Transact-SQL)
sys.key_constraints (transact-SQL)
sys.filegroups (Transact-SQL)
sys.partition_schemes (Transact-SQL)
Consultando as perguntas frequentes SQL Server catálogo do sistema
OLTP in-memory (Otimização na memória)