Condividi tramite


sp_indexes (Transact-SQL)

Restituisce informazioni sugli indici per la tabella remota specificata.

Icona di collegamento a un argomentoConvenzioni della 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 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'