sys.dm_db_missing_index_columns (Transact-SQL)
Retorna informações sobre as colunas de tabela de banco de dados que estão ausentes em um índice, exceto os índices espaciais. sys.dm_db_missing_index_columns é uma função de gerenciamento dinâmico.
Sintaxe
sys.dm_db_missing_index_columns(index_handle)
Argumentos
index_handle
Número inteiro que identifica exclusivamente um índice ausente. Pode ser obtido nos seguintes objetos de gerenciamento dinâmico:
Tabela retornada
Nome da coluna |
Tipo de dados |
Descrição |
||||||||
---|---|---|---|---|---|---|---|---|---|---|
column_id |
int |
ID da coluna. |
||||||||
column_name |
sysname |
Nome da coluna da tabela. |
||||||||
column_usage |
varchar(20) |
Como a coluna é usada pela consulta. Os possíveis valores são:
|
Comentários
As informações retornadas por sys.dm_db_missing_index_columns 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.
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
Os usuários devem receber a permissão VIEW SERVER STATE ou qualquer permissão que implique que a permissão VIEW SERVER STATE consulte essa função de gerenciamento dinâmico.
Exemplos
O exemplo a seguir executa uma consulta na tabela Address e executa uma consulta usando a exibição de gerenciamento dinâmico sys.dm_db_missing_index_columns para retornar as colunas de tabela com índice ausente.
USE AdventureWorks2012;
GO
SELECT City, StateProvinceID, PostalCode
FROM Person.Address
WHERE StateProvinceID = 9;
GO
SELECT mig.*, statement AS table_name,
column_id, column_name, column_usage
FROM sys.dm_db_missing_index_details AS mid
CROSS APPLY sys.dm_db_missing_index_columns (mid.index_handle)
INNER JOIN sys.dm_db_missing_index_groups AS mig ON mig.index_handle = mid.index_handle
ORDER BY mig.index_group_handle, mig.index_handle, column_id;
GO
Consulte também
Referência
sys.dm_db_missing_index_details (Transact-SQL)