sp_indexes (Transact-SQL)
Gibt Indexinformationen für die angegebene Remotetabelle zurück.
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'
Siehe auch