分享方式:


sys.index_columns (Transact-SQL)

適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)

每個數據行包含一個數據列,該數據行屬於索引或未排序數據表(堆積)。

資料行名稱 資料類型 描述
object_id int 索引所定義之對象的識別碼。
index_id int 定義數據行之索引的識別碼。
index_column_id int 索引數據行的識別碼。 index_column_id 只有在 內 index_id才是唯一的。
column_id int 中數據行的 object_id標識碼。

0 = 非叢集索引中的數據列標識碼 (RID)。

column_id 只有在 內 object_id才是唯一的。
key_ordinal tinyint 一組索引鍵數據行內的序數 (以 1 為基底)。

0 = 不是索引鍵數據行,或是 XML 索引、資料行存放區索引或空間索引。

注意:XML 或空間索引不能是索引鍵,因為基礎數據行無法比較,這表示無法排序其值。
partition_ordinal tinyint 一組數據分割數據行內的序數 (以 1 為基底)。 叢集數據行存放區索引最多可以有一個數據分割數據行。

0 = 不是數據分割數據行。
is_descending_key bit 1 = 索引鍵數據行具有遞減排序方向。

0 = 索引鍵數據行具有遞增排序方向,或數據行是數據行存放區或哈希索引的一部分。
is_included_column bit 1 = Column 是使用 CREATE INDEX INCLUDE 子句新增至索引的非索引鍵數據行,或數據行是數據行存放區索引的一部分。

0 = Column 不是包含的數據行。

因為數據行是叢集索引鍵的一部分,所以不會列在 中 sys.index_columns

因為數據行是分割數據行,所以 0會以 隱含方式新增。
column_store_order_ordinal tinyint 適用於:Azure Synapse Analytics 和 SQL Server 2022 (16.x)
已排序叢集數據行存放區索引中順序數據行集合內的序數 (以 1 為基底)。 如需已排序叢集數據行存放區索引的詳細資訊,請參閱 數據行存放區索引設計指引

權限

目錄檢視內中繼資料的可見性會限制在使用者所擁有的安全性實體,或已授與使用者某些權限的安全性實體。 如需相關資訊,請參閱 Metadata Visibility Configuration

範例

下列範例會傳回數據表 Production.BillOfMaterials的所有索引和索引數據行。

USE AdventureWorks2022;
GO
SELECT i.name AS index_name
    ,COL_NAME(ic.object_id,ic.column_id) AS column_name
    ,ic.index_column_id
    ,ic.key_ordinal
,ic.is_included_column
FROM sys.indexes AS i
INNER JOIN sys.index_columns AS ic
    ON i.object_id = ic.object_id AND i.index_id = ic.index_id
WHERE i.object_id = OBJECT_ID('Production.BillOfMaterials');

結果集如下所示。

index_name                                                 column_name        index_column_id key_ordinal is_included_column
---------------------------------------------------------- -----------------  --------------- ----------- -------------
AK_BillOfMaterials_ProductAssemblyID_ComponentID_StartDate ProductAssemblyID  1               1           0
AK_BillOfMaterials_ProductAssemblyID_ComponentID_StartDate ComponentID        2               2           0
AK_BillOfMaterials_ProductAssemblyID_ComponentID_StartDate StartDate          3               3           0
PK_BillOfMaterials_BillOfMaterialsID                       BillOfMaterialsID  1               1           0
IX_BillOfMaterials_UnitMeasureCode                         UnitMeasureCode    1               1           0
  
(5 row(s) affected)

下一步