Condividi tramite


sp_indexes (Transact-SQL)

Si applica a: SQL Server

Restituisce informazioni sugli indici per la tabella remota specificata.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

sp_indexes
    [ @table_server = ] N'table_server'
    [ , [ @table_name = ] N'table_name' ]
    [ , [ @table_schema = ] N'table_schema' ]
    [ , [ @table_catalog = ] N'table_catalog' ]
    [ , [ @index_name = ] N'index_name' ]
    [ , [ @is_unique = ] is_unique ]
[ ; ]

Argomenti

[ @table_server = ] N'table_server'

Nome di un server collegato che esegue SQL Server per cui vengono richieste informazioni sulla tabella. @table_server è sysname, senza impostazione predefinita.

[ @table_name = ] N'table_name'

Nome della tabella remota per cui fornire informazioni sull'indice. @table_name è sysname, con un valore predefinito .NULL Se NULL, vengono restituite tutte le tabelle nel database specificato.

[ @table_schema = ] N'table_schema'

Specifica lo schema di tabella. @table_schema è sysname, con il valore predefinito NULL. Nell'ambiente SQL Server questo valore corrisponde al proprietario della tabella.

[ @table_catalog = ] N'table_catalog'

Nome del database in cui risiede @table_name . @table_catalog è sysname, con un valore predefinito .NULL Se NULL, per impostazione predefinita @table_catalog è master.

[ @index_name = ] N'index_name'

Nome dell'indice per il quale vengono richieste le informazioni. @index_name è sysname, con un valore predefinito .NULL

[ @is_unique = ] is_unique

Tipo di indice per il quale restituire informazioni. @is_unique è bit e può essere uno dei valori seguenti.

valore Descrizione
1 Restituisce informazioni sugli indici univoci.
0 Restituisce informazioni sugli indici che non sono univoci.
NULL (predefinito) Restituisce informazioni su tutti gli indici.

Set di risultati

Nome colonna Tipo di dati Descrizione
TABLE_CAT sysname Nome del database contenente la tabella specificata.
TABLE_SCHEM sysname Schema della tabella.
TABLE_NAME sysname Nome della tabella remota.
NON_UNIQUE smallint Indica se l'indice è o meno univoco:

0 = Univoco
1 = Non univoco
INDEX_QUALIFER sysname Nome del proprietario dell'indice. Alcuni prodotti DBMS (Database Management System) consentono agli utenti diversi dal proprietario della tabella di creare indici. In SQL Server questa colonna è sempre uguale TABLE_NAMEa .
INDEX_NAME sysname Nome dell'indice.
TYPE smallint Tipo di indice:

0 = Statistiche per una tabella
1 = Clustered
2 = Hashed
3 = Altro
ORDINAL_POSITION int Posizione ordinale della colonna nell'indice. La prima colonna nell'indice è 1. Questa colonna restituisce sempre un valore .
COLUMN_NAME sysname Nome corrispondente della colonna per ogni colonna dell'oggetto TABLE_NAME restituito.
ASC_OR_DESC varchar Ordine usato nelle regole di confronto:

A = Crescente
D = Decrescente
NULL = Non applicabile

SQL Server restituisce Asempre .
CARDINALITY int Numero di righe nella tabella o di valori univoci nell'indice.
PAGES int Numero di pagine in cui archiviare l'indice o la tabella.
FILTER_CONDITION nvarchar(4000) SQL Server non restituisce un valore.

Autorizzazioni

È richiesta SELECT l'autorizzazione per lo schema.

Esempi

Nell'esempio seguente vengono restituite tutte le informazioni sugli indici dalla tabella Employees del database AdventureWorks2022 nel server collegato Seattle1.

EXEC sp_indexes @table_server = 'Seattle1',
    @table_name = 'Employee',
    @table_schema = 'HumanResources',
    @table_catalog = 'AdventureWorks2022';