Udostępnij za pomocą


INDEXPROPERTY (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Database w Microsoft Fabric

Zwraca nazwaną wartość właściwości indeksu lub statystyki określonego numeru identyfikacyjnego tabeli, indeksu lub statystyki oraz nazwę właściwości. Zwraca wartość NULL dla indeksów XML.

Transact-SQL konwencje składni

Składnia

INDEXPROPERTY ( object_ID , index_or_statistics_name , property )

Arguments

object_ID

Wyrażenie zawierające numer identyfikacyjny obiektu tabeli lub widoku indeksowanego, dla którego mają być podane informacje o właściwości indeksu. object_ID jest int.

index_or_statistics_name

Wyrażenie zawierające nazwę indeksu lub statystyki, dla którego mają być zwracane informacje o właściwości. index_or_statistics_name to nvarchar(128).

właściwość

Wyrażenie zawierające nazwę właściwości indeksu lub statystyki do zwrócenia. właściwość jest varchar(128)i może być jedną z tych wartości.

Uwaga / Notatka

O ile nie określono inaczej, jest zwracana, NULL gdy właściwość nie jest prawidłową nazwą właściwości, object_ID nie jest prawidłowym identyfikatorem obiektu, object_ID jest nieobsługiwanym typem obiektu dla określonej właściwości lub obiekt wywołujący nie ma uprawnień do wyświetlania metadanych obiektu.

Majątek Description Wartość
IndexDepth Głębokość indeksu. Liczba poziomów indeksu.

NULL = indeks XML lub dane wejściowe są nieprawidłowe.
IndexFillFactor Wypełnij wartość współczynnika używaną podczas tworzenia lub ostatniego odbudowy indeksu. Współczynnik wypełnienia
IndexID Identyfikator indeksu dla określonej tabeli lub widoku indeksowanego. Identyfikator indeksu
IsAutoStatistics Statystyki zostały wygenerowane przez AUTO_CREATE_STATISTICS opcję ALTER DATABASE. 1 = Prawdziwe
0 = Fałsz lub indeks XML.
IsClustered Indeks jest klasterowany. 1 = Prawdziwe
0 = Fałsz lub indeks XML.
IsDisabled Indeks jest wyłączony. 1 = Prawdziwe
0 = Fałsz
NULL = Dane wejściowe są nieprawidłowe.
IsFulltextKey Indeks to klucz indeksowania pełnotekstowego i semantycznego dla tabeli. 1 = Prawdziwe
0 = Fałsz lub indeks XML.
NULL = Dane wejściowe są nieprawidłowe.
IsHypothetical Indeks jest hipotetyczny i nie może być używany bezpośrednio jako ścieżka dostępu do danych. Hipotetyczne indeksy przechowują statystyki na poziomie kolumny i są utrzymywane i używane przez doradcę dostrajania aparatu bazy danych. 1 = Prawdziwe
0 = Fałsz lub indeks XML
NULL = Dane wejściowe są nieprawidłowe.
IsPadIndex Indeks określa miejsce do pozostawienia otwartego na każdym węźle wewnętrznym. 1 = Prawdziwe
0 = Fałsz lub indeks XML.
IsPageLockDisallowed Wartość blokowania strony ustawiona ALLOW_PAGE_LOCKS przez opcję ALTER INDEX. 1 = Blokowanie strony jest niedozwolone.
0 = Blokowanie strony jest dozwolone.
NULL = Dane wejściowe są nieprawidłowe.
IsRowLockDisallowed Wartość blokowania wierszy ustawiona ALLOW_ROW_LOCKS przez opcję ALTER INDEX. 1 = Blokowanie wierszy jest niedozwolone.
0 = Blokowanie wierszy jest dozwolone.
NULL = Dane wejściowe są nieprawidłowe.
IsStatistics index_or_statistics_name to statystyki tworzone przez instrukcję CREATE STATISTICS lub AUTO_CREATE_STATISTICS przez opcję ALTER DATABASE. 1 = Prawdziwe
0 = Fałsz lub indeks XML.
IsUnique Indeks jest unikatowy. 1 = Prawdziwe
0 = Fałsz lub indeks XML.
IsColumnstore Indeks jest indeksem magazynu kolumn zoptymalizowanym pod kątem pamięci. 1 = Prawdziwe
0 = Fałsz

Dotyczy: SQL Server 2012 (11.x) i nowsze wersje.
IsOptimizedForSequentialKey Indeks ma włączoną optymalizację ostatnio stronicowych wstawiania. 1 = Prawdziwe
0 = Fałsz

Dotyczy: SQL Server 2019 (15.x) i nowsze wersje.

Typy zwracane

int

Exceptions

Zwraca błąd NULL lub jeśli obiekt wywołujący nie ma uprawnień do wyświetlania obiektu.

Użytkownik może wyświetlać tylko metadane zabezpieczanych, które użytkownik jest właścicielem lub którym użytkownik ma uprawnienia. Oznacza to, że wbudowane funkcje emitujące metadane, takie jak INDEXPROPERTY mogą zwracać NULL , jeśli użytkownik nie ma żadnych uprawnień do obiektu. Aby uzyskać więcej informacji, zobacz Konfiguracja widoczności metadanych.

Przykłady

Przykłady kodu w tym artykule korzystają z przykładowej bazy danych AdventureWorks2025 lub AdventureWorksDW2025, którą można pobrać ze strony głównej Przykładów programu Microsoft SQL Server i projektów społeczności.

A. Zwracanie właściwości indeksu w tabeli Employee

Poniższy przykład zwraca wartości dla IsClustered, , oraz IndexFillFactor właściwości indeksu EmployeePK_Employee_BusinessEntityID tabeli w bazie AdventureWorks2025IndexDepth.

SELECT
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'), 'PK_Employee_BusinessEntityID', 'IsClustered') AS [Is Clustered],
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'), 'PK_Employee_BusinessEntityID', 'IndexDepth') AS [Index Depth],
    INDEXPROPERTY(OBJECT_ID('HumanResources.Employee'), 'PK_Employee_BusinessEntityID', 'IndexFillFactor') AS [Fill Factor];

Oto zestaw wyników.

Is Clustered Index Depth Fill Factor
------------ ----------- -----------
1            2           0

Przykłady: Azure Synapse Analytics and Analytics Platform System (PDW)

B. Zwracanie właściwości indeksu w tabeli FactResellerSales

W poniższym przykładzie przedstawiono właściwości jednego z indeksów w FactResellerSales tabeli.

SELECT
    INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'), 'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IsClustered') AS [Is Clustered],
    INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'), 'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IsColumnstore') AS [Is Columnstore Index],
    INDEXPROPERTY(OBJECT_ID('dbo.FactResellerSales'), 'ClusteredIndex_6d10fa223e5e4c1fbba087e29e16a7a2','IndexFillFactor') AS [Fill Factor];
GO