Esporta (0) Stampa
Espandi tutto
Espandi Riduci a icona

sys.dm_db_missing_index_details

Aggiornamento: aprile 2011

Questo argomento è OBSOLETO. La versione più recente è disponibile in Guida di riferimento a Transact-SQL 14.

ImportantImportante
Argomento non aggiornato. Per la versione corrente, vedere sys.dm_db_missing_index_details.

Restituisce informazioni dettagliate sugli indici mancanti, escludendo gli indici spaziali.

In database SQL di Microsoft Azure le DMV non possono esporre le informazioni che possono influire sull'indipendenza del database o le informazioni su altri database a cui l'utente può accedere. Per evitare l'esposizione di queste informazioni, ogni riga che contiene dati che non appartengono al tenant connesso vengono filtrate.

 

Nome della colonna Tipo di dati Descrizione

index_handle

int

Identifica un determinato indice mancante. L'identificatore è univoco a livello di server. index_handle costituisce la chiave della tabella.

database_id

smallint

Identifica il database in cui è archiviata la tabella con l'indice mancante.

object_id

int

Identifica la tabella in cui l'indice risulta mancante.

equality_columns

nvarchar(4000)

Elenco delimitato da virgole delle colonne che contribuiscono ai predicati di uguaglianza nel formato seguente:

tabella.colonna =valore_costante

inequality_columns

nvarchar(4000)

Elenco delimitato da virgole delle colonne che contribuiscono ai predicati di disuguaglianza, ad esempio predicati nel formato seguente:

tabella.colonna > valore_costante

Qualsiasi operatore di confronto diverso da "=" esprime disuguaglianza.

included_columns

nvarchar(4000)

Elenco delimitato da virgole delle colonne necessarie come colonne di copertura per la query. Per ulteriori informazioni sulle colonne di copertura o incluse, vedere Create Indexes with Included Columns.

statement

nvarchar(4000)

Nome della tabella in cui l'indice risulta mancante.

Le informazioni restituite da sys.dm_db_missing_index_details vengono aggiornate in caso di ottimizzazione di una query tramite Query Optimizer e non sono persistenti. Le informazioni relative agli indici mancanti vengono mantenute solo fino al riavvio di SQL Server. Per mantenere tali informazioni anche dopo il riciclo del server, gli amministratori di database devono eseguirne periodicamente copie di backup.

Per determinare il gruppo di indici mancanti a cui appartiene un determinato indice mancante, è possibile eseguire query sulla DMV sys.dm_db_missing_index_groups eseguendone l'equijoin con sys.dm_db_missing_index_details in base alla colonna index_handle.

Per convertire le informazioni restituite da sys.dm_db_missing_index_details in un'istruzione CREATE INDEX, le colonne di uguaglianza devono essere inserite prima delle colonne di disuguaglianza e la relativa combinazione deve costituire la chiave dell'indice. Aggiungere le colonne incluse all'istruzione CREATE INDEX mediante la clausola INCLUDE. Per determinare un ordine efficace per le colonne di uguaglianza, ordinarle in base alla selettività, a partire dalle colonne più selettive, all'estrema sinistra nell'elenco di colonne.

Se in una transazione viene creata o eliminata una tabella, le righe contenenti le informazioni sugli indici mancanti per gli oggetti eliminati vengono rimosse da questo oggetto a gestione dinamica, mantenendo la consistenza delle transazioni.

È richiesta l'autorizzazione VIEW DATABASE STATE per il server. Non è possibile eseguire query dal database master. Per ulteriori informazioni, vedere Dynamic Management Objects.

Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft