Dela via


sys.indexes (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-databas i Förhandsversion av Microsoft Fabric

Innehåller en rad per index eller heap för ett tabellobjekt, till exempel en tabell, vy eller tabellvärdesfunktion.

Kolumnnamn Datatyp Description
object_id int ID för det objekt som det här indexet tillhör.
name sysname Indexets namn. namnet är unikt endast i objektet.

NULL = Heap
index_id int ID för indexet. index_id är bara unikt i objektet.

0 = Heap
1 = Klustrat index
> 1 = Icke-grupperat index
type tinyint Typ av index:

0 = Heap
1 = Grupperat radarkiv (B-träd)
2 = Icke-grupperat radarkiv (B-träd)
3 = XML
4 = Spatial
5 = Grupperat columnstore-index 2
6 = Icke-grupperat kolumnlagringsindex 1
7 = Icke-grupperat hashindex 2
9 = JSON 5
type_desc nvarchar(60) Beskrivning av indextyp:

-HÖG
-KLUSTRADE
– ICKE-LUSTERERAD
– XML
-RUMSLIG
– GRUPPERAT COLUMNSTORE 2
– EJLUSTERERAT COLUMNSTORE 1
- ICKE-LUSTERERAD HASH 2, 8
- JSON 5
is_unique bit 1 = Index är unikt.
0 = Index är inte unikt.

Alltid 0 för grupperade kolumnlagringsindex.
data_space_id int ID för datautrymmet för det här indexet. Datautrymme är antingen ett filgrupps- eller partitionsschema.

0 = object_id är en tabellvärdesfunktion eller minnesinternt index.
ignore_dup_key bit 1 = IGNORE_DUP_KEY är AV.
0 = IGNORE_DUP_KEY är AV.
is_primary_key bit 1 = Index är en del av en PRIMARY KEY-begränsning.

Alltid 0 för grupperade kolumnlagringsindex.
is_unique_constraint bit 1 = Index är en del av en UNIK begränsning.

Alltid 0 för grupperade kolumnlagringsindex.
fill_factor tinyint > 0 = FILLFACTOR-procentandel som användes när indexet skapades eller återskapades.
0 = Standardvärde

Alltid 0 för grupperade kolumnlagringsindex.
is_padded bit 1 = PADINDEX är AV.
0 = PADINDEX är AV.

Alltid 0 för grupperade kolumnlagringsindex.
is_disabled bit 1 = Index är inaktiverat.
0 = Index är inte inaktiverat.
is_hypothetical bit 1 = Index är hypotetiskt och kan inte användas direkt som en dataåtkomstsökväg. Hypotetiska index innehåller statistik på kolumnnivå.

0 = Index är inte hypotetiskt.
allow_row_locks bit 1 = Index tillåter radlås.
0 = Index tillåter inte radlås.

Alltid 0 för grupperade kolumnlagringsindex.
allow_page_locks bit 1 = Index tillåter sidlås.
0 = Index tillåter inte sidlås.

Alltid 0 för grupperade kolumnlagringsindex.
has_filter bit 1 = Index har ett filter och innehåller endast rader som uppfyller filterdefinitionen.
0 = Index har inget filter.
filter_definition nvarchar(max) Uttryck för delmängden av rader som ingår i det filtrerade indexet.

NULL för heap, icke-filtrerat index eller otillräckliga behörigheter i tabellen.
compression_delay int > 0 = Kolumnlagringsindexkomprimeringsfördröjning som anges i minuter.

NULL = Columnstore index rowgroup compression delay hanteras automatiskt.
suppress_dup_key_messages 3, 6, 7 bit 1 = Index har konfigurerats för att förhindra duplicerade nyckelmeddelanden under en indexuppbyggnadsåtgärd.

0 = Index har inte konfigurerats för att förhindra duplicerade nyckelmeddelanden under en återskapande av index.
auto_created 6 bit 1 = Index skapades av den automatiska justeringen.
0 = Index skapades av användaren.
optimize_for_sequential_key 4, 6, 7 bit 1 = Index har optimering av infogning på sista sidan aktiverat.
0 = Standardvärde. Index har inaktiverat infogningsoptimering på sista sidan.

1Gäller för: SQL Server 2012 (11.x) och senare versioner.

2Gäller för: SQL Server 2014 (12.x) och senare versioner.

3Gäller för: SQL Server 2017 (14.x) och senare versioner.

4Gäller för: SQL Server 2019 (15.x) och senare versioner.

5Gäller för: SQL Server 2025 (17.x) Förhandsversion och senare versioner.

6gäller för: Azure SQL Database.

7Gäller för: Azure SQL Managed Instance.

8NONCLUSTERED HASH index stöds endast i minnesoptimerade tabeller. Vyn sys.hash_indexes visar aktuella hash-index och hash-egenskaperna. Mer information finns i sys.hash_indexes.

Permissions

Synligheten för metadata i katalogvyer är begränsad till skyddsbara objekt som en användare antingen äger eller som användaren har beviljats viss behörighet för. Mer information finns i Konfiguration av synlighet för metadata.

Examples

I följande exempel returneras alla index för tabellen Production.Product i databasen AdventureWorks2022.

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