Condividi tramite


INDEXPROPERTY (Transact-SQL)

Si applica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistema di Piattaforma Analitica (PDW)Database SQL in Microsoft Fabric

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.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

INDEXPROPERTY ( object_ID , index_or_statistics_name , property )

Argomenti

object_ID

Espressione che contiene il numero di identificazione dell'oggetto della tabella o della vista indicizzata per cui fornire 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 restituire informazioni sulle proprietà. index_or_statistics_name è di tipo nvarchar(128).

property

Espressione che contiene il nome della proprietà index o statistics da restituire. property è di tipo varchar(128). I valori possibili sono i seguenti.

Nota

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

Proprietà Descrizione valore
IndexDepth Dettagli dell'indice. Numero di livelli dell'indice.

NULL = L'indice XML o l'input non è valido.
IndexFillFactor Valore del fattore di riempimento utilizzato quando l'indice è stato creato o ricompilato 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 dall'opzione AUTO_CREATE_STATISTICS di ALTER DATABASE. 1 = Vero
0 = Indice False o XML.
IsClustered Indice cluster. 1 = Vero
0 = Indice False o XML.
IsDisabled L'indice è disabilitato. 1 = Vero
0 = Falso
NULL = L'input non è valido.
IsFulltextKey L'indice è la chiave di indicizzazione full-text e semantica per una tabella. 1 = Vero
0 = Indice False o XML.
NULL = L'input non è valido.
IsHypothetical L'indice è ipotetico e non può essere usato 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 = Vero
0 = Indice False o XML
NULL = L'input non è valido.
IsPadIndex All'indice è associata la quantità di spazio da lasciare aperto in ogni nodo interno. 1 = Vero
0 = Indice False o XML.
IsPageLockDisallowed Valore di blocco della pagina impostato dall'opzione ALLOW_PAGE_LOCKS di ALTER INDEX. 1 = Il blocco della pagina non è consentito.
0 = Il blocco della pagina è consentito.
NULL = L'input non è valido.
IsRowLockDisallowed Valore di blocco delle righe impostato dall'opzione ALLOW_ROW_LOCKS di ALTER INDEX. 1 = Il blocco delle righe non è consentito.
0 = È consentito il blocco delle righe.
NULL = L'input non è valido.
IsStatistics index_or_statistics_name è statistiche create dall'istruzione CREATE STATISTICS o dall'opzione AUTO_CREATE_STATISTICS di ALTER DATABASE. 1 = Vero
0 = Indice False o XML.
IsUnique Indice univoco. 1 = Vero
0 = Indice False o XML.
IsColumnstore Index è un indice columnstore ottimizzato per la memoria. 1 = Vero
0 = Falso

Si applica a: SQL Server 2012 (11.x) e versioni successive.
IsOptimizedForSequentialKey L'ottimizzazione dell'indice per gli inserimenti dell'ultima pagina è abilitata. 1 = Vero
0 = Falso

Si applica a: SQL Server 2019 (15.x) e versioni successive.

Tipi restituiti

int

Eccezioni

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

Un utente può visualizzare solo i metadati delle entità a protezione diretta di cui l'utente è proprietario o su cui viene concessa l'autorizzazione. Ciò significa che le funzioni predefinite che generano metadati, ad INDEXPROPERTY esempio potrebbero restituire NULL se l'utente non dispone di alcuna autorizzazione per l'oggetto. Per altre informazioni, vedere Configurazione della visibilità dei metadati.

Esempi

Gli esempi di codice in questo articolo usano il database di esempio AdventureWorks2025 o AdventureWorksDW2025, che è possibile scaricare dalla home page Microsoft SQL Server Samples and Community Projects.

A. Proprietà restituite per l'indice nella tabella Employee

Il seguente esempio restituisce i valori per , IsClusteredIndexDepth, e IndexFillFactor le proprietà per l'indice PK_Employee_BusinessEntityID della Employee tabella nel database AdventureWorks2025.

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

Il set di risultati è il seguente.

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

Esempi: Azure Synapse Analytics e Piattaforma di strumenti analitici (PDW)

B. Proprietà restituite per l'indice nella tabella FactResellerSales

Nell'esempio seguente vengono esaminate le proprietà di uno degli indici nella tabella FactResellerSales.

SELECT
    INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'), 'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IsClustered') AS [Is Clustered],
    INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'), 'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IsColumnstore') AS [Is Columnstore Index],
    INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'), 'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IndexFillFactor') AS [Fill Factor];
GO