INDEXPROPERTY (Transact-SQL)

Restituisce il valore delle proprietà di indice o statistiche specificate in base al numero di identificazione della tabella, al nome dell'indice o delle statistiche e al nome della proprietà. Restituisce NULL per gli indici XML.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

INDEXPROPERTY ( object_ID , index_or_statistics_name , property ) 

Argomenti

  • object_ID
    Espressione che contiene il numero di identificazione della tabella o vista indicizzata di cui si desidera ottenere informazioni sulla proprietà dell'indice. object_ID è di tipo int.

  • index_or_statistics_name
    Espressione che contiene il nome dell'indice o delle statistiche per cui si desidera ottenere informazioni sulle proprietà. index_or_statistics_name è di tipo nvarchar(128).

  • property
    Espressione che contiene il nome delle proprietà del database da restituire. property è di tipo varchar(128). I possibili valori sono i seguenti.

    [!NOTA]

    Se non specificato diversamente, viene restituito NULL quando property non è un nome di proprietà valido, object_ID non è un ID di oggetto valido, object_ID è un tipo di oggetto non supportato per la proprietà specificata oppure il chiamante non dispone dell'autorizzazione necessaria per visualizzare i metadati dell'oggetto.

    Proprietà

    Descrizione

    Valore

    IndexDepth

    Dettagli dell'indice.

    Numero di livelli dell'indice.

    NULL = indice XML o input non valido.

    IndexFillFactor

    Valore del fattore di riempimento utilizzato quando l'indice è stato creato o rigenerato per l'ultima volta.

    Fattore di riempimento

    IndexID

    ID dell'indice della tabella o vista indicizzata specificata.

    ID dell'indice

    IsAutoStatistics

    Le statistiche sono state generate mediante l'opzione AUTO_CREATE_STATISTICS di ALTER DATABASE.

    1 = true

    0 = false o indice XML.

    IsClustered

    Indice cluster.

    1 = true

    0 = false o indice XML.

    IsDisabled

    L'indice è disattivato.

    1 = true

    0 = false

    NULL = input non valido.

    IsFulltextKey

    L'indice è la chiave full-text di una tabella.

    1 = true

    0 = false o indice XML.

    NULL = input non valido.

    IsHypothetical

    L'indice è ipotetico e non può essere utilizzato direttamente come percorso di accesso ai dati. Gli indici ipotetici contengono statistiche a livello di colonna e vengono gestiti e utilizzati da Ottimizzazione guidata motore di database.

    1 = true

    0 = false o indice XML.

    NULL = input non valido.

    IsPadIndex

    All'indice è associata la quantità di spazio da lasciare aperto in ogni nodo interno.

    1 = true

    0 = false o indice XML.

    IsPageLockDisallowed

    Valore per il blocco di pagina impostato mediante l'opzione ALLOW_PAGE_LOCKS di ALTER INDEX.

    1 = il blocco di pagina è disattivato.

    0 = il blocco di pagina è attivato.

    NULL = input non valido.

    IsRowLockDisallowed

    Valore per il blocco di riga impostato tramite l'opzione ALLOW_ROW_LOCKS di ALTER INDEX.

    1 = il blocco di riga è disattivato.

    0 = il blocco di riga è attivato.

    NULL = input non valido.

    IsStatistics

    index_or_statistics_name rappresenta le statistiche create dall'istruzione CREATE STATISTICS o dall'opzione AUTO_CREATE_STATISTICS di ALTER DATABASE.

    1 = true

    0 = false o indice XML.

    IsUnique

    Indice univoco.

    1 = true

    0 = false o indice XML.

Tipi restituiti

int

Eccezioni

Restituisce NULL in caso di errore o se un chiamante non dispone dell'autorizzazione necessaria per visualizzare l'oggetto.

Un utente può visualizzare esclusivamente i metadati delle entità a protezione diretta di cui è proprietario o per cui ha ricevuto un'autorizzazione. Di conseguenza, le funzioni predefinite di creazione dei metadati come INDEXPROPERTY possono restituire NULL se l'utente non dispone di alcuna autorizzazione per l'oggetto. Per ulteriori informazioni, vedere Configurazione della visibilità dei metadati e Risoluzione dei problemi relativi alla visibilità dei metadati.

Esempi

Nell'esempio seguente vengono restituiti i valori delle proprietà IsClustered, IndexDepth e IndexFillFactor per l'indice PK_Employee_EmployeeID della tabella Employee.

USE AdventureWorks;
GO
SELECT 
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
        'PK_Employee_EmployeeID','IsClustered')AS [Is Clustered],
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
        'PK_Employee_EmployeeID','IndexDepth') AS [Index Depth],
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'),
        'PK_Employee_EmployeeID','IndexFillFactor') AS [Fill Factor];
GO

Set di risultati:

Is Clustered Index Depth Fill Factor 
------------ ----------- ----------- 
1            2           0

(1 row(s) affected)