sys.index_columns (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)
Contém uma linha por coluna que faz parte de um índice ou tabela não ordenada (heap).
Nome da coluna | Tipo de dados | Descrição |
---|---|---|
object_id | int | ID do objeto em que o índice está definido. |
index_id | int | ID do índice no qual a coluna está definida. |
index_column_id | int | ID da coluna de índice. index_column_id é único apenas dentro do index_id . |
column_id | int | ID da coluna em object_id .0 = Identificador de Linha (RID) em um índice não clusterizado.column_id é único apenas dentro do object_id . |
key_ordinal | tinyint | Ordinal (com base em 1) dentro do conjunto de colunas chave. 0 = Não é uma coluna de chave ou é um índice XML, índice columnstore ou índice espacial. Nota: Um XML ou índice espacial não pode ser uma chave porque as colunas subjacentes não são comparáveis, o que significa que seus valores não podem ser ordenados. |
partition_ordinal | tinyint | Ordinal (com base em 1) dentro do conjunto de colunas de particionamento. Um índice columnstore clusterizado pode ter no máximo uma coluna de particionamento. 0 = Não é uma coluna de particionamento. |
is_descending_key | bit | 1 = A coluna da chave de índice tem uma direção de classificação descendente.0 = A coluna de chave de índice tem uma direção de classificação ascendente ou a coluna faz parte de um columnstore ou índice de hash. |
is_included_column | bit | 1 = Coluna é uma coluna não chave adicionada ao índice usando a cláusula CREATE INDEX INCLUDE ou a coluna faz parte de um índice columnstore.0 = Coluna não é uma coluna incluída.As colunas adicionadas implicitamente porque fazem parte da chave de clustering não estão listadas no sys.index_columns .As colunas adicionadas implicitamente porque são uma coluna de particionamento são retornadas como 0 . |
column_store_order_ordinal | tinyint | Aplica-se: Azure Synapse Analytics e SQL Server 2022 (16.x) Ordinal (baseado em 1) dentro do conjunto de colunas de ordem em um índice columnstore clusterizado ordenado. Para obter mais informações sobre índices de columnstore clusterizados ordenados, consulte Columnstore index design guidance. |
Permissões
A visibilidade dos metadados em exibições de catálogo é limitada a protegíveis que um usuário possui ou nos quais o usuário recebeu alguma permissão. Para obter mais informações, consulte Metadata Visibility Configuration.
Exemplos
O exemplo a seguir retorna todos os índices e colunas de índice para a tabela 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');
Este é o conjunto de resultados.
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)
Próximas etapas
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de