sp_indexes (Transact-SQL)
Restituisce informazioni sugli indici per la tabella remota specificata.
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 SQL Server di cui vengono richieste informazioni di tabella. table_server è di tipo sysname e non prevede alcun valore predefinito.[ @table_name = ] 'table_name'
Nome della tabella per cui si desidera ottenere le informazioni di indice. table_name è di tipo sysname e il 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 è di tipo sysname e il valore predefinito è NULL.[ @table_catalog = ] 'table_db'
Nome del database contenente la tabella specificata in table_name. table_db è di tipo sysname e il valore predefinito è NULL, con cui table_db assume il valore predefinito master.[ @index_name = ] 'index_name'
Nome dell'indice per cui si desidera ottenere informazioni. index è di tipo sysname e il valore predefinito è NULL.[ @is_unique = ] 'is_unique'
Tipo di indice per cui si desidera ottenere informazioni. is_unique è di tipo bit e il valore predefinito è NULL. I possibili valori sono i seguenti.Valore
Descrizione
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 corrisponde sempre 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. 1 corrisponde alla prima colonna nell'indice. In questa colonna viene sempre restituito 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 AdventureWorks nel server collegato Seattle1.
EXEC sp_indexes @table_server = 'Seattle1',
@table_name = 'Employee',
@table_schema = 'HumanResources',
@table_catalog = 'AdventureWorks'
Vedere anche