Freigeben über


sp_indexes (Transact-SQL)

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

Themenlink (Symbol)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'
    Der Name eines Verbindungsservers, auf dem SQL Server ausgeführt wird, und für den Tabelleninformationen angefordert werden. table_server ist vom Datentyp sysname; es gibt keinen Standardwert.

  • [ @table_name = ] 'table_name'
    Der Name der Remotetabelle, für die Indexinformationen bereitgestellt werden sollen. table_name ist vom Datentyp sysname; der Standardwert ist 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 vom Datentyp sysname; der Standardwert ist NULL.

  • [ @table_catalog = ] 'table_db'
    Der Name der Datenbank, in der table_name gespeichert ist. table_db ist vom Datentyp sysname; der Standardwert ist NULL. Wenn der Wert NULL angegeben ist, wird für table_db standardmäßig master festgelegt.

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

  • [ @is_unique = ] 'is_unique'
    Der Typ des Indexes, für den Informationen zurückgegeben werden sollen. is_unique ist vom Datentyp bit; der Standardwert ist NULL. Die folgenden Werte sind möglich:

    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. Bei SQL Server ist diese Spalte stets mit TABLE_NAME identisch.

INDEX_NAME

sysname

Der Name des Indexes.

TYPE

smallint

Typ des Index:

0 = Statistiken für eine Tabelle

1 = In einem Cluster gruppiert

2 = Hash

3 = Andere

ORDINAL_POSITION

int

Die Ordinalposition der Spalte innerhalb des Indexes. Die erste Spalte im Index hat den Wert 1. Diese Spalte gibt stets 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 die SELECT-Berechtigung für das Schema.

Beispiele

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

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