共用方式為


INDEXPROPERTY (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics分析平台系統(PDW)Microsoft Fabric 中的 SQL 資料庫

傳回指定資料表識別碼、索引或統計資料名稱以及屬性名稱的具名索引或統計資料屬性值。 XML 索引的傳回 NULL

Transact-SQL 語法慣例

語法

INDEXPROPERTY ( object_ID , index_or_statistics_name , property )

引數

object_ID

包含要提供索引內容資訊之表格或索引檢視的物件識別號碼的運算式。 object_IDint

index_or_statistics_name

包含要傳回內容資訊之索引或統計資料名稱的運算式。 index_or_statistics_namenvarchar(128)

property

包含要傳回的索引或統計資料內容名稱的運算式。 propertyvarchar(128),並且可為下列其中一個值。

注意

除非另有說明,否則當 NULL屬性 不是有效的屬性名稱、 object_ID 不是有效的物件識別碼、 object_ID 是指定屬性不支援的物件類型,或呼叫端沒有檢視物件中繼資料的許可權時,會傳回。

屬性 描述
IndexDepth 索引的深度。 索引層級的數目。

NULL = XML 索引或輸入無效。
IndexFillFactor 當建立索引或上次重建索引時,所用的填滿因數值。 填滿因數
IndexID 指定的資料表或索引檢視之索引的索引識別碼。 索引識別碼
IsAutoStatistics 統計資料是由 的AUTO_CREATE_STATISTICS選項產生ALTER DATABASE的。 1 = 正確
0 = False 或 XML 索引。
IsClustered 索引已建立叢集。 1 = 正確
0 = False 或 XML 索引。
IsDisabled 索引已停用。 1 = 正確
0 = 錯誤
NULL = 輸入無效。
IsFulltextKey 索引是資料表的全文檢索和語意索引鍵。 1 = 正確
0 = False 或 XML 索引。
NULL = 輸入無效。
IsHypothetical 索引是假設的,不能直接用作資料存取路徑。 假設的索引用來存放資料行層級的統計資料,由 Database Engine Tuning Advisor 來維護和使用。 1 = 正確
0 = 錯誤或 XML 索引
NULL = 輸入無效。
IsPadIndex 索引指定每個內部節點保留開啟狀態的空間。 1 = 正確
0 = False 或 XML 索引。
IsPageLockDisallowed 選項所ALLOW_PAGE_LOCKSALTER INDEX設定的頁面鎖定值。 1 = 不允許頁面鎖定。
0 = 允許頁面鎖定。
NULL = 輸入無效。
IsRowLockDisallowed 由選項ALLOW_ROW_LOCKS設定ALTER INDEX的列鎖定值。 1 = 不允許列鎖定。
0 = 允許行鎖定。
NULL = 輸入無效。
IsStatistics index_or_statistics_name是由陳述式或 的CREATE STATISTICS選項所AUTO_CREATE_STATISTICS建立ALTER DATABASE的統計資料。 1 = 正確
0 = False 或 XML 索引。
IsUnique 索引是唯一的。 1 = 正確
0 = False 或 XML 索引。
IsColumnstore 索引是記憶體最佳化的資料行存放區索引。 1 = 正確
0 = 錯誤

適用於:SQL Server 2012 (11.x) 和更新版本。
IsOptimizedForSequentialKey 索引已啟用最後一頁插入的最佳化。 1 = 正確
0 = 錯誤

適用於:SQL Server 2019 (15.x) 和更新版本。

傳回類型

int

例外狀況

發生錯誤或呼叫端沒有檢視物件的許可權時傳回 NULL

使用者只能檢視使用者擁有或授與使用者許可權的安全性實體中繼資料。 這表示中繼資料發出的內建函式, INDEXPROPERTY 例如如果使用者對物件沒有任何許可權,則可能會傳回 NULL 。 如需詳細資訊,請參閱中 繼資料可見度設定

範例

本文中的程式代碼範例會使用 AdventureWorks2025AdventureWorksDW2025 範例資料庫,您可以從 Microsoft SQL Server 範例和社群專案 首頁下載。

A。 傳回 Employee 資料表上索引的屬性

以下範例回傳 AdventureWorks2025 資料庫中表格索引的 、 IsClusteredIndexDepthIndexFillFactor 、 及屬性。PK_Employee_BusinessEntityIDEmployee

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];

結果如下。

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

範例:Azure Synapse Analytics 和 Analytics Platform System (PDW)

B. 傳回 FactResellerSales 資料表上索引的屬性

下列範例會檢查 FactResellerSales 資料表上其中一個索引的屬性。

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