sp_indexes (Transact-SQL)

Si applica a:SQL Server

Restituisce informazioni sugli indici per la tabella remota specificata.

Convenzioni di sintassi Transact-SQL

Sintassi

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

Argomenti

[ @table_server= ] '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= ] 'table_name'
Nome della tabella remota per cui si desidera ottenere le informazioni di indice. table_name è sysname, con valore predefinito NULL. con cui vengono restituite tutte le tabelle del database specificato.

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

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

[ @index_name= ] 'index_name'
Nome dell'indice per cui si desidera ottenere informazioni. index è sysname, con un valore predefinito NULL.

[ @is_unique= ] 'is_unique'
Tipo di indice per cui si desidera ottenere informazioni. is_unique è bit, con un valore predefinito NULL e può essere uno dei valori seguenti.

Valore Description
1 Restituisce informazioni sugli indici univoci.
0 Restituisce informazioni sugli indici non univoci.
NULL 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. In alcuni prodotti DBMS gli indici possono essere creati da utenti diversi dal proprietario della tabella. In SQL Server questa colonna è sempre uguale a TABLE_NAME.
INDEX_NAME sysname Nome dell'indice.
TYPE smallint Tipo di indice:

0 = Statistiche di una tabella

1 = Cluster

2 = Hash

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 alle colonne di TABLE_NAME restituite.
ASC_OR_DESC varchar Ordine adottato nelle regole di confronto:

A = Crescente

D = Decrescente

NULL = Non applicabile

SQL Server restituisce sempre A.
CARDINALITY int Numero di righe della tabella o valori univoci dell'indice.
PAGES int Numero di pagine necessarie per l'archiviazione dell'indice o della tabella.
FILTER_CONDITION nvarchar(4000) SQL Server non restituisce un valore.

Autorizzazioni

È richiesta l'autorizzazione SELECT 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';  

Vedi anche

Stored procedure di query distribuite (Transact-SQL)
sp_catalogs (Transact-SQL)
sp_column_privileges (Transact-SQL)
sp_foreignkeys (Transact-SQL)
sp_linkedservers (Transact-SQL)
sp_tables_ex (Transact-SQL)
sp_table_privileges (Transact-SQL)
Stored procedure di sistema (Transact-SQL)