INDEXKEY_PROPERTY (Transact-SQL)

Se aplica a:SQL ServerAzure SQL Managed Instance

Devuelve información acerca de la clave de índice. Devuelve NULL para los índices XML.

Importante

Esta característica se quitará en una versión futura de SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. Use mejor sys.index_columns (Transact-SQL).

Convenciones de sintaxis de Transact-SQL

Sintaxis

INDEXKEY_PROPERTY ( object_ID ,index_ID ,key_ID ,property )  

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

object_ID
Es el número de identificación de objeto de la tabla o vista indizada. object_ID es int.

index_ID
Es el número de identificación del índice. index_ID es int.

key_ID
Es la posición de la columna de clave de índice. key_ID es int.

property
Es el nombre de la propiedad cuya información se va a devolver. property es una cadena de caracteres y puede tener uno de los valores siguientes.

Value Descripción
ColumnId Identificador de columna en la posición key_ID del índice.
IsDescending Orden en el que se almacena la columna de índice.

1 = Descendente ?0 = Ascendente

Tipos de valor devuelto

int

Excepciones

Devuelve NULL si se produce un error o si el autor de la llamada no tiene permiso para ver el objeto.

Un usuario solo puede ver los metadatos de elementos protegibles que posea o para los que se le haya concedido permiso. Esto significa que las funciones integradas de emisión de metadatos, como INDEXKEY_PROPERTY, pueden devolver NULL si el usuario no tiene ningún permiso para el objeto. Para obtener más información, consulte Metadata Visibility Configuration.

Ejemplos

En el ejemplo siguiente, se devuelven ambas propiedades para el identificador de índice 1, la columna de clave 1 de la tabla Production.Location.

USE AdventureWorks2022;  
GO  
SELECT   
    INDEXKEY_PROPERTY(OBJECT_ID('Production.Location', 'U'),  
        1,1,'ColumnId') AS [Column ID],  
    INDEXKEY_PROPERTY(OBJECT_ID('Production.Location', 'U'),  
        1,1,'IsDescending') AS [Asc or Desc order];  

El conjunto de resultados es:

Column ID   Asc or Desc order   
----------- -----------------   
1           0  
  
(1 row(s) affected)  

Consulte también

INDEX_COL (Transact-SQL)
INDEXPROPERTY (Transact-SQL)
sys.objects (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)