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 NULL
alle 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 = Eindeutig1 = 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 Tabelle1 = Gruppiert2 = Hashed3 = 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 = AufsteigendD = AbsteigendNULL = Nicht zutreffendSQL 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';