sp_indexes (Transact-SQL)

Gilt für:SQL Server

Gibt Indexinformationen für die angegebene Remotetabelle zurück.

Transact-SQL-Syntaxkonventionen

Syntax

  
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' ]  

Argumente

[ @table_server= ] 'table_server'
Ist der Name eines verknüpften Servers, auf dem SQL Server ausgeführt wird, für den Tabelleninformationen angefordert werden. table_server ist "sysname" ohne Standard.

[ @table_name= ] 'table_name'
Der Name der Remotetabelle, für die Indexinformationen bereitzustellen sind. table_name ist "sysname" mit dem Standardwert NULL. Wenn der Wert NULL festgelegt ist, werden alle Tabellen in der angegebenen Datenbank zurückgegeben.

[ @table_schema= ] 'table_schema'
Gibt das Tabellenschema an. In der SQL Server-Umgebung entspricht dies dem Tabellenbesitzer. table_schema ist "sysname" mit dem Standardwert NULL.

[ @table_catalog= ] 'table_db'
Ist der Name der Datenbank, in der sich table_name befindet. table_db ist "sysname" mit dem Standardwert NULL. Wenn NULL, table_db standardmäßig master.

[ @index_name= ] 'index_name'
Der Name des Indexes, für den Informationen angefordert werden. "index " ist "sysname", wobei der Standardwert NULL ist.

[ @is_unique= ] 'is_unique'
Der Typ des Indexes, für den Informationen zurückgegeben werden sollen. is_unique ist bit, mit einem Standardwert von NULL und kann einer der folgenden Werte sein.

Wert Beschreibung
1 Gibt Informationen zu eindeutigen Indizes zurück.
0 Gibt Informationen zu Indizes zurück, die nicht eindeutig sind.
NULL Gibt Informationen zu allen Indizes zurück.

Resultsets

Spaltenname Datentyp Beschreibung
TABLE_CAT sysname Der Name der Datenbank, in der die angegebene Tabelle gespeichert ist.
TABLE_SCHEM sysname Das Schema für die Tabelle.
TABLE_NAME sysname Der Name der Remotetabelle.
NON_UNIQUE smallint Gibt an, ob der Index eindeutig oder nicht eindeutig ist:

0 = Eindeutig

1 = Nicht eindeutig
INDEX_QUALIFER sysname Der Name des Indexbesitzers. Verschiedene DBMS-Produkte ermöglichen neben dem Tabellenbesitzer auch anderen Benutzern das Erstellen von Indizes. In SQL Server ist diese Spalte immer mit TABLE_NAME identisch.
INDEX_NAME sysname Name des Indexes.
TYP smallint Typ des Index:

0 = Statistiken für eine Tabelle

1 = In einem Cluster gruppiert

2 = Hash

3 = Sonstige
ORDINAL_POSITION int Ordnungsposition der Spalte im Index. Die erste Spalte im Index hat den Wert 1. Diese Spalte gibt immer einen Wert zurück.
COLUMN_NAME sysname Der Name der Spalte; wird für jede Spalte von TABLE_NAME zurückgegeben.
ASC_OR_DESC varchar Die Sortierreihenfolge:

A = Aufsteigend

D = Absteigend

NULL = Nicht zutreffend

SQL Server gibt immer A zurück.
CARDINALITY int Die Anzahl der Zeilen in der Tabelle oder der eindeutigen Werte im Index.
PAGES int Die Anzahl der Seiten, die zum Speichern des Indexes oder der Tabelle benötigt werden.
FILTER_CONDITION nvarchar(4000) SQL Server gibt keinen Wert zurück.

Berechtigungen

Erfordert SELECT-Berechtigung für das Schema.

Beispiele

Das folgende Beispiel gibt alle Indexinformationen aus der Tabelle Employees der AdventureWorks2022-Datenbank auf dem Verbindungsserver Seattle1 zurück.

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

Weitere Informationen

Gespeicherte Prozeduren für verteilte Abfragen (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)
Gespeicherte Systemprozeduren (Transact-SQL)