Freigeben über


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 = ] 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 ]
[ ; ]

Argumente

[ @table_server = ] N'table_server'

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 = ] N'table_name'

Der Name der Remotetabelle, für die Indexinformationen bereitgestellt werden sollen. @table_name ist "sysname" mit einem Standardwert von NULL. Wenn NULLalle Tabellen in der angegebenen Datenbank zurückgegeben werden.

[ @table_schema = ] N'table_schema'

Gibt das Tabellenschema an. @table_schema ist "sysname" mit der Standardeinstellung "NULL. In der SQL Server-Umgebung entspricht dieser Wert dem Tabellenbesitzer.

[ @table_catalog = ] N'table_catalog'

Der Name der Datenbank, in der sich @table_name befindet. @table_catalog ist "sysname" mit einem Standardwert von NULL. Wenn NULL, @table_catalog Standardwert ist master.

[ @index_name = ] N'index_name'

Der Name des Indexes, für den Informationen angefordert werden. @index_name ist "sysname" mit einem Standardwert von NULL.

[ @is_unique = ] is_unique

Der Indextyp, für den Informationen zurückgegeben werden sollen. @is_unique ist Bit 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 (Standard) Gibt Informationen zu allen Indizes zurück.

Resultset

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. Einige DbMS-Produkte (Database Management System) ermöglichen es Benutzern, andere Als der Tabellenbesitzer, Indizes zu erstellen. In SQL Server ist diese Spalte immer identisch mit TABLE_NAME.
INDEX_NAME sysname Name des Indexes.
TYPE smallint Typ des Index:

0 = Statistiken für eine Tabelle
1 = Gruppiert
2 = Hashed
3 = Sonstige
ORDINAL_POSITION int Ordnungsposition der Spalte im Index. Die erste Spalte im Index lautet 1. Diese Spalte gibt immer einen Wert zurück.
COLUMN_NAME sysname Der entsprechende Name der Spalte für jede Spalte der TABLE_NAME zurückgegebenen.
ASC_OR_DESC varchar Die reihenfolge, die in der Sortierung verwendet wird:

A = Aufsteigend
D = Absteigend
NULL = Nicht zutreffend

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

Berechtigungen

Erfordert die SELECT-Berechtigung im 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';