Aracılığıyla paylaş


sys.index_columns (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalytics Platform Sistemi (PDW)Microsoft Fabric'teki SQL veritabanı

Bir dizinin veya sıralanmamış tablonun (yığın) parçası olan sütun başına bir satır içerir.

Sütun adı Veri türü Açıklama
object_id Int Dizinin tanımlandığı nesnenin kimliği.
index_id Int Sütunun tanımlandığı dizinin kimliği.
index_column_id Int Dizin sütununun kimliği. index_column_id yalnızca içinde index_idbenzersizdir.
column_id Int içindeki object_idsütunun kimliği.

0 = Bir kümelenmemiş dizinde Satır Tanımlayıcısı (RID).

column_id yalnızca içinde object_idbenzersizdir.
key_ordinal tinyint Anahtar sütunları kümesi içinde sıralı (1 tabanlı).

0 = Anahtar sütun değil veya XML dizini, columnstore dizini, uzamsal dizin veya JSON dizinidir.

Not: Temel alınan sütunlar karşılaştırılabilir olmadığından XML, uzamsal veya JSON dizini anahtar olamaz; bu da değerlerinin sıralanamadığı anlamına gelir.
partition_ordinal tinyint Bölümleme sütunları kümesi içinde sıralı (1 tabanlı). Kümelenmiş columnstore dizininde en fazla bir bölümleme sütunu olabilir.

0 = Bölümleme sütunu değil.
is_descending_key bit 1 = Dizin anahtarı sütunu azalan sıralama yönüne sahiptir.

0 = Dizin anahtarı sütununun artan sıralama yönü vardır veya sütun bir columnstore veya karma dizinin parçasıdır.
is_included_column bit 1 = Sütun, CREATE INDEX INCLUDE yan tümcesi kullanılarak dizine eklenen anahtar olmayan bir sütundur veya sütun bir columnstore dizininin parçasıdır.

0 = Sütun, dahil edilen bir sütun değildir.

Kümeleme anahtarının bir parçası olduğundan örtük olarak eklenen sütunlar içinde sys.index_columnslistelenmez.

Bölümleme sütunu oldukları için örtük olarak eklenen sütunlar olarak 0döndürülür.
column_store_order_ordinal tinyint Şunlar için geçerlidir: Azure Synapse Analytics, SQL Server 2022 (16.x), Azure SQL Veritabanı ve Azure SQL Yönetilen ÖrneğiAUTD

Sıralı sütun deposu dizinindeki sıra sütunları kümesi içinde sıralı (1 tabanlı). Sıralı columnstore dizinleri hakkında daha fazla bilgi için bkz. Sıralı columnstore dizinleriyle performans ayarlama.
data_clustering_ordinal tinyint 0 = Sütun deposu dizini değil & veri kümelemesi sıralı geçerli değil
Şunlar için geçerlidir: SQL Server 2025 (17.x) Önizlemesi

İzinler

Katalog görünümlerindeki meta verilerin görünürlüğü, kullanıcının sahip olduğu veya kullanıcıya bazı izinlerin verildiği güvenli hale getirilebilir öğelerle sınırlıdır. Daha fazla bilgi için bkz. meta veri görünürlüğü yapılandırması .

Örnekler

Aşağıdaki örnek, tablosunun Production.BillOfMaterialstüm dizinlerini ve dizin sütunlarını döndürür.

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');

Sonuç kümesi aşağıdadır.

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)

Sonraki Adımlar