Freigeben über


sys.indexes (Transact-SQL)

Enthält eine Zeile pro Index oder Heap eines tabellarischen Objekts, wie z. B. einer Tabelle, Sicht oder Tabellenwertfunktion.

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version), Windows Azure SQL-Datenbank (Ursprüngliche Version bis aktuelle Version).

Spaltenname

Datentyp

Beschreibung

object_id

int

ID des Objekts, zu dem dieser Index gehört.

name

sysname

Der Name des Indexes. Der Name ist nur innerhalb des Objekts eindeutig.

NULL = Heap

index_id

int

Die ID des Index. Die index_id ist nur innerhalb des Objekts eindeutig.

0 = Heap

1 = Gruppierter Index

> 1 = Nicht gruppierter Index

Typ

tinyint

Typ des Index:

0 = Heap

1 = In einem Cluster gruppiert

2 = Nicht gruppiert

3 = XML

4 = Räumlich

5 = Gruppierter columnstore-Index

6 = Nicht gruppierter columnstore-Index

7 = Nicht gruppierter Hashindex

type_desc

nvarchar(60)

Beschreibung des Typs des Index:

HEAP

CLUSTERED

NONCLUSTERED

XML

SPATIAL

CLUSTERED COLUMNSTORE

Gilt für: SQL Server 2014 bis SQL Server 2014.

NONCLUSTERED COLUMNSTORE

Gilt für: SQL Server 2012 bis SQL Server 2014.

NONCLUSTERED HASH

NONCLUSTERED HASH-Indizes werden nur für speicheroptimierte Tabellen unterstützt. Die sys.hash_indexes-Sicht zeigt die aktuellen Hashindizes und Hasheigenschaften an. Weitere Informationen finden Sie unter sys.hash_indexes (Transact-SQL).

Gilt für: SQL Server 2014 bis SQL Server 2014.

is_unique

bit

1 = Der Index ist eindeutig.

0 = Der Index ist nicht eindeutig.

Immer 0 für gruppierte columnstore-Indizes.

data_space_id

int

ID des Datenspeicherplatzes für diesen Index. Der Datenspeicherplatz ist entweder eine Dateigruppe oder ein Partitionsschema.

0 = object_id ist eine Tabellenwertfunktion oder ein Index im Arbeitsspeicher.

ignore_dup_key

bit

1 = IGNORE_DUP_KEY ist ON.

0 = IGNORE_DUP_KEY ist OFF.

is_primary_key

bit

1 = Der Index ist Teil einer PRIMARY KEY-Einschränkung.

Immer 0 für gruppierte columnstore-Indizes.

is_unique_constraint

bit

1 = Der Index ist Teil einer UNIQUE-Einschränkung.

Immer 0 für gruppierte columnstore-Indizes.

fill_factor

tinyint

> 0 = FILLFACTOR-Prozentsatz, der beim Erstellen oder Neuerstellen des Index verwendet wurde.

0 = Standardwert

Immer 0 für gruppierte columnstore-Indizes.

is_padded

bit

1 = PADINDEX ist ON.

0 = PADINDEX ist OFF.

Immer 0 für gruppierte columnstore-Indizes.

is_disabled

bit

1 = Der Index ist deaktiviert.

0 = Der Index ist nicht deaktiviert.

is_hypothetical

bit

1 = Der Index ist hypothetisch und kann nicht direkt als Datenzugriffspfad verwendet werden. Hypothetische Indizes enthalten Statistiken auf Spaltenebene.

0 = Der Index ist nicht hypothetisch.

allow_row_locks

bit

1 = Der Index lässt Zeilensperren zu.

0 = Der Index lässt Zeilensperren nicht zu.

Immer 0 für gruppierte columnstore-Indizes.

allow_page_locks

bit

1 = Der Index lässt Seitensperren zu.

0 = Der Index lässt Seitensperren nicht zu.

Immer 0 für gruppierte columnstore-Indizes.

has_filter

bit

1 = Index hat einen Filter und enthält nur Zeilen, die der Filterdefinition entsprechen.

0 = Index hat keinen Filter.

filter_definition

nvarchar(max)

Ausdruck für die Teilmenge von Zeilen, die im gefilterten Index enthalten sind.

NULL für Heap oder nicht gefilterten Index.

Berechtigungen

Die Sichtbarkeit der Metadaten in Katalogsichten ist auf sicherungsfähige Elemente eingeschränkt, bei denen der Benutzer entweder der Besitzer ist oder für die dem Benutzer eine Berechtigung erteilt wurde. Weitere Informationen finden Sie unter Konfigurieren der Sichtbarkeit von Metadaten.

Beispiele

Im folgenden Beispiel werden alle Indizes für die Tabelle Production.Product in der AdventureWorks2012-Datenbank zurückgegeben.

SELECT i.name AS index_name
    ,i.type_desc
    ,is_unique
    ,ds.type_desc AS filegroup_or_partition_scheme
    ,ds.name AS filegroup_or_partition_scheme_name
    ,ignore_dup_key
    ,is_primary_key
    ,is_unique_constraint
    ,fill_factor
    ,is_padded
    ,is_disabled
    ,allow_row_locks
    ,allow_page_locks
FROM sys.indexes AS i
INNER JOIN sys.data_spaces AS ds ON i.data_space_id = ds.data_space_id
WHERE is_hypothetical = 0 AND i.index_id <> 0 
AND i.object_id = OBJECT_ID('Production.Product');
GO

Siehe auch

Verweis

Katalogsichten für Objekte (Transact-SQL)

Katalogsichten (Transact-SQL)

sys.index_columns (Transact-SQL)

sys.xml_indexes (Transact-SQL)

sys.objects (Transact-SQL)

sys.key_constraints (Transact-SQL)

sys.filegroups (Transact-SQL)

sys.partition_schemes (Transact-SQL)

Konzepte

FAQ: Abfragen des SQL Server-Systemkatalogs

In-Memory OLTP (Arbeitsspeicheroptimierung)