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 = Univoco1 = 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_NAME a . |
INDEX_NAME |
sysname | Nome dell'indice. |
TYPE |
smallint | Tipo di indice:0 = Statistiche per una tabella1 = Clustered2 = Hashed3 = 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 = CrescenteD = DecrescenteNULL = Non applicabileSQL Server restituisce A sempre . |
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';