適用於:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
分析平台系統(PDW)
Microsoft Fabric 中的 SQL 資料庫
傳回指定資料表識別碼、索引或統計資料名稱以及屬性名稱的具名索引或統計資料屬性值。 XML 索引的傳回 NULL 。
語法
INDEXPROPERTY ( object_ID , index_or_statistics_name , property )
引數
object_ID
包含要提供索引內容資訊之表格或索引檢視的物件識別號碼的運算式。 object_ID 為 int。
index_or_statistics_name
包含要傳回內容資訊之索引或統計資料名稱的運算式。 index_or_statistics_name 為 nvarchar(128)。
property
包含要傳回的索引或統計資料內容名稱的運算式。 property 為 varchar(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 。 如需詳細資訊,請參閱中 繼資料可見度設定。
範例
本文中的程式代碼範例會使用 AdventureWorks2025 或 AdventureWorksDW2025 範例資料庫,您可以從 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