sys.dm_db_missing_index_details (Transact-SQL)

Devuelve información detallada sobre los índices que faltan, excluidos los índices espaciales.

Nombre de la columna

Tipo de datos

Descripción

index_handle

int

Identifica un índice que falta específico. El identificador es único en todo el servidor. index_handle es la clave de esta tabla.

database_id

smallint

Identifica la base de datos en la que reside la tabla en la que falta un índice.

object_id

int

Identifica la tabla en la que falta el índice.

equality_columns

nvarchar(4000)

Lista de columnas separadas por comas que contribuyen a predicados de igualdad de la forma:

tabla.columna =valorConstante

inequality_columns

nvarchar(4000)

Lista de columnas separadas por comas que contribuyen a predicados de desigualdad; por ejemplo, a predicados de la forma:

tabla.columna > valorConstante

Cualquier operador de comparación distinto de "=" expresa desigualdad. Para obtener una lista completa de los operadores de comparación, vea Operadores de comparación (motor de base de datos).

included_columns

nvarchar(4000)

Lista de columnas de cobertura separadas por comas requeridas por la consulta. Para obtener más información acerca de las columnas de cobertura o las columnas incluidas, vea Crear índices con columnas incluidas.

statement

nvarchar(4000)

Nombre de la tabla en la que falta el índice.

Comentarios

La información devuelta por sys.dm_db_missing_index_details se actualiza cuando se optimiza una consulta mediante el optimizador de consultas y no se guarda. La información sobre índices que faltan sólo se conserva hasta que se reinicia SQL Server. Los administradores de bases de datos deben realizar copias de seguridad de forma periódica de la información de índices que faltan si desean conservarla después de reciclar el servidor.

Para determinar a cuáles de los grupos de índices que faltan pertenece un índice que falta específico, puede consultar la vista de administración dinámica sys.dm_db_missing_index_groups mediante una combinación de igualdad con sys.dm_db_missing_index_details basada en la columna index_handle.

Para obtener información sobre la habilitación y deshabilitación de la recopilación de información de índices que faltan, vea Acerca de la característica de índices que faltan.

Para obtener información acerca de las limitaciones de esta característica, vea Limitaciones de la característica de índices que faltan.

Utilizar información de índices que faltan en instrucciones CREATE INDEX

Para convertir la información devuelta por sys.dm_db_missing_index_details en una instrucción CREATE INDEX, debe colocar las columnas de igualdad antes de las columnas de desigualdad, y juntas deben formar la clave del índice. Las columnas incluidas deben agregarse a la instrucción CREATE INDEX mediante la cláusula INCLUDE. Para determinar un orden efectivo para las columnas de igualdad, ordénelas en función de su selectividad, mostrando primero las columnas más selectivas (en la parte izquierda de la lista de columnas). Para obtener más información acerca de cómo escribir instrucciones CREATE INDEX con la información de los índices que faltan devuelta por sys.dm_db_missing_index_details, vea Utilizar información de índices que faltan para escribir instrucciones CREATE INDEX.

Coherencia de las transacciones

Si una transacción crea o quita una tabla, las filas que contienen información de índices que faltan sobre los objetos quitados se eliminan de este objeto de administración dinámica para mantener la coherencia de la transacción. Para obtener más información sobre la coherencia de las transacciones con relación a los objetos de administración dinámica de índices que faltan, vea Acerca de la característica de índices que faltan.

Permisos

Los usuarios deben disponer del permiso VIEW SERVER STATE o de cualquier permiso que implique el permiso VIEW SERVER STATE para consultar esta vista de administración dinámica.