Freigeben über


sys.indexes (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankVerwaltete Azure SQL-InstanzAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-Datenbank in Microsoft Fabric Preview

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

Spaltenname Datentyp Description
object_id int ID des Objekts, zu dem dieser Index gehört.
name sysname Name des Indexes. Name ist nur innerhalb des Objekts eindeutig.

NULL = Heap
index_id int Die ID des Index. index_id ist nur innerhalb des Objekts eindeutig.

0 = Heap
1 = Gruppierter Index
> 1 = Nicht gruppierter Index
type tinyint Typ des Index:

0 = Heap
1 = Gruppierter Rowstore (B-Struktur)
2 = Nicht gruppierter Rowstore (B-Struktur)
3 = XML
4 = Räumlich
5 = Gruppierter Spaltenspeicherindex 2
6 = Nicht gruppierter Spaltenspeicherindex 1
7 = Nicht gruppierter Hashindex 2
9 = JSON 5
type_desc nvarchar(60) Beschreibung des Typs des Index:

-HAUFEN
-GECLUSTERT
- NICHT GRUPPIERT
-XML
-RÄUMLICH
- GRUPPIERTER COLUMNSTORE 2
- NICHT GRUPPIERTER COLUMNSTORE 1
- NICHT GRUPPIERTER HASH 2, 8
- JSON 5
is_unique bit 1 = Der Index ist eindeutig.
0 = 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 In-Memory-Index.
ignore_dup_key bit 1 = IGNORE_DUP_KEY ist AUS.
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 Neuaufbau des Indexes verwendet wird.
0 = Standardwert

Immer 0 für gruppierte columnstore-Indizes.
is_padded bit 1 = PADINDEX ist AUS.
0 = PADINDEX ist OFF.

Immer 0 für gruppierte columnstore-Indizes.
is_disabled bit 1 = Der Index ist deaktiviert.
0 = Index ist nicht deaktiviert.
is_hypothetical bit 1 = Index ist hypothetisch und kann nicht direkt als Datenzugriffspfad verwendet werden. Hypothetische Indizes enthalten Statistiken auf Spaltenebene.

0 = Index ist nicht hypothetisch.
allow_row_locks bit 1 = Der Index lässt Zeilensperren zu.
0 = 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 = 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, nicht gefilterten Index oder unzureichende Berechtigungen für die Tabelle.
compression_delay int > 0 = In Minuten angegebene Komprimierungsverzögerung des Columnstore-Indexes.

NULL = Spaltenspeicherindex-Zeilengruppenkomprimierungsverzögerung wird automatisch verwaltet.
suppress_dup_key_messages 3, 6, 7 bit 1 = Index ist so konfiguriert, dass doppelte Schlüsselmeldungen während eines Index-Neuerstellungsvorgangs unterdrückt werden.

0 = Index ist nicht so konfiguriert, dass doppelte Schlüsselmeldungen während eines Indexwiederherstellungsvorgangs unterdrückt werden.
auto_created 6 bit 1 = Index wurde durch die automatische Optimierung erstellt.
0 = Index wurde vom Benutzer erstellt.
optimize_for_sequential_key 4, 6, 7 bit 1 = Index hat die Optimierung für das Einfügen der letzten Seite aktiviert.
0 = Standardwert. Index hat die Optimierung für das Einfügen der letzten Seite deaktiviert.

1Gilt für: SQL Server 2012 (11.x) und höhere Versionen.

2Gilt für: SQL Server 2014 (12.x) und höhere Versionen.

3Gilt für: SQL Server 2017 (14.x) und höhere Versionen.

4Gilt für: SQL Server 2019 (15.x) und höhere Versionen.

5Gilt für: SQL Server 2025 (17.x) Vorschau und höhere Versionen.

6Gilt für: Azure SQL-Datenbank.

7Gilt für: Azure SQL Managed Instance.

8NONCLUSTERED HASH Indizes werden nur für speicheroptimierte Tabellen unterstützt. In sys.hash_indexes der Ansicht werden die aktuellen Hashindizes und die Hasheigenschaften angezeigt. Weitere Informationen finden Sie unter sys.hash_indexes.

Permissions

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 in der Konfiguration der Metadatensichtbarkeit.

Examples

Im folgenden Beispiel werden alle Indizes für die Tabelle Production.Product in der AdventureWorks2022-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