Compartilhar via


sys.dm_db_missing_index_details (Transact-SQL)

Retorna informações detalhadas sobre índices ausentes e exclusão de índices de espaço.

Nome da coluna

Tipo de dados

Descrição

index_handle

int

Identifica um determinado índice ausente. O identificador é exclusivo no servidor. index_handle é a chave desta tabela.

database_id

smallint

Identifica o banco de dados onde reside a tabela com o índice ausente.

object_id

int

Identifica a tabela onde o índice está ausente.

equality_columns

nvarchar(4000)

Lista separada por vírgulas de colunas que contribuem para os predicados de igualdade do formulário:

table.column =constant_value

inequality_columns

nvarchar(4000)

Lista separada por vírgulas de colunas que contribuem para predicados de desigualdade, por exemplo, predicados do formulário:

table.column > constant_value

Qualquer operador de comparação diferente de "=" expressa desigualdade.

included_columns

nvarchar(4000)

Lista separada por vírgulas de colunas necessárias como colunas de cobertura para a consulta. Para obter mais informações sobre como cobrir colunas ou colunas incluídas, consulte Criar índices com colunas incluídas.

statement

nvarchar(4000)

Nome da tabela onde o índice está ausente.

Comentários

As informações retornadas por sys.dm_db_missing_index_details serão atualizadas quando uma consulta for otimizada pelo otimizador de consulta e não persistirão. As informações do índice ausente são mantidas apenas até o SQL Server ser reiniciado. Os administradores de banco de dados devem periodicamente gerar cópias de backup de informações de índice ausente se quiserem mantê-las após o desligamento e a reinicialização do servidor.

Para determinar a quais grupos de índice ausente um determinado índice ausente pertence, você pode consultar a exibição de gerenciamento dinâmico sys.dm_db_missing_index_groups unindo-a por igualdade a sys.dm_db_missing_index_details com base na coluna index_handle.

Usando informações de índice ausente em instruções CREATE INDEX

Para converter as informações retornadas por sys.dm_db_missing_index_details em uma instrução CREATE INDEX, as colunas iguais devem ser colocadas antes das colunas desiguais; juntas, elas devem gerar a chave do índice. As colunas incluídas devem ser adicionadas à instrução CREATE INDEX com a cláusula INCLUDE. Para determinar uma ordem efetiva para as colunas desiguais, ordene-as com base em sua seletividade: liste as colunas mais seletivas primeiro (a mais à esquerda na lista de colunas).

Consistência de transação

Se uma transação criar ou descartar uma tabela, as linhas contendo as informações de índice ausente sobre os objetos descartados serão removidas do objeto de gerenciamento dinâmico, preservando a consistência da transação.

Permissões

Para consultar essa exibição de gerenciamento dinâmica, os usuários devem receber a permissão VIEW SERVER STATE ou qualquer permissão que implique a permissão VIEW SERVER STATE.

Consulte também

Referência

sys.dm_db_missing_index_columns (Transact-SQL)

sys.dm_db_missing_index_groups (Transact-SQL)

sys.dm_db_missing_index_group_stats (Transact-SQL)