Compartir a través de


INDEXPROPERTY (Transact-SQL)

Aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistema de Plataforma de Analítica (PDW)Base de datos SQL en Microsoft Fabric

Devuelve el valor de propiedad del índice con nombre o las estadísticas de un número de identificación, nombre de índice o estadísticas y nombre de propiedad de una tabla especificada. Devuelve NULL para los índices XML.

Convenciones de sintaxis de Transact-SQL

Sintaxis

INDEXPROPERTY ( object_ID , index_or_statistics_name , property )

Argumentos

object_ID

Expresión que contiene el número de identificación del objeto de la tabla o vista indizada para la que se debe proporcionar información de propiedad de índice. object_ID es int.

index_or_statistics_name

Expresión que contiene el nombre del índice o las estadísticas para las que se va a devolver información de propiedad. index_or_statistics_name es nvarchar(128).

property

Expresión que contiene el nombre de la propiedad index o statistics que se va a devolver. property es de tipo varchar(128) y puede tener uno de estos valores.

Nota

A menos que se indique lo contrario, NULL se devuelve cuando la propiedad no es un nombre de propiedad válido, object_ID no es un identificador de objeto válido, object_ID es un tipo de objeto no admitido para la propiedad especificada o el autor de la llamada no tiene permiso para ver los metadatos del objeto.

Propiedad Descripción Value
IndexDepth Profundidad del índice. Número de niveles del índice.

NULL = El índice o la entrada XML no son válidos.
IndexFillFactor Valor de factor de relleno utilizado al crear o volver a generar el índice por última vez. Factor de relleno
IndexID Id. del índice de una tabla o vista indizada especificada. Id. del índice
IsAutoStatistics Las estadísticas se generaron mediante la AUTO_CREATE_STATISTICS opción de ALTER DATABASE. 1 = Verdadero
0 = Índice False o XML.
IsClustered El índice está agrupado. 1 = Verdadero
0 = Índice False o XML.
IsDisabled El índice está deshabilitado. 1 = Verdadero
0 = Falso
NULL = La entrada no es válida.
IsFulltextKey El índice es la clave de indización semántica y de texto completo de una tabla. 1 = Verdadero
0 = Índice False o XML.
NULL = La entrada no es válida.
IsHypothetical El índice es hipotético y no se puede usar directamente como ruta de acceso a datos. Los índices hipotéticos contienen estadísticas de nivel de columna y son conservados y utilizados por el Asistente para la optimización de motor de base de datos. 1 = Verdadero
0 = Índice False o XML
NULL = La entrada no es válida.
IsPadIndex El índice especifica el espacio que debe dejarse abierto en cada nodo interior. 1 = Verdadero
0 = Índice False o XML.
IsPageLockDisallowed Valor de bloqueo de página establecido por la ALLOW_PAGE_LOCKS opción de ALTER INDEX. 1 = No se permite el bloqueo de páginas.
0 = Se permite el bloqueo de páginas.
NULL = La entrada no es válida.
IsRowLockDisallowed Valor de bloqueo de fila establecido por la ALLOW_ROW_LOCKS opción de ALTER INDEX. 1 = No se permite el bloqueo de filas.
0 = Se permite el bloqueo de filas.
NULL = La entrada no es válida.
IsStatistics index_or_statistics_name es las estadísticas creadas por la CREATE STATISTICS instrucción o por la AUTO_CREATE_STATISTICS opción de ALTER DATABASE. 1 = Verdadero
0 = Índice False o XML.
IsUnique El índice es exclusivo. 1 = Verdadero
0 = Índice False o XML.
IsColumnstore El índice es un índice de almacén de columnas optimizado para memoria. 1 = Verdadero
0 = Falso

Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.
IsOptimizedForSequentialKey El índice tiene habilitada la optimización para inserciones de la última página. 1 = Verdadero
0 = Falso

Se aplica a: SQL Server 2019 (15.x) y versiones posteriores.

Tipos de retorno

int

Excepciones

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

Un usuario solo puede ver los metadatos de elementos protegibles que posee el usuario o en el que se concede permiso al usuario. Esto significa que las funciones integradas que emiten metadatos, como INDEXPROPERTY podrían devolverse NULL si el usuario no tiene ningún permiso en el objeto. Para obtener más información, consulte Configuración de visibilidad de metadatos.

Ejemplos

Los ejemplos de código de este artículo usan la base de datos de ejemplo de AdventureWorks2025 o AdventureWorksDW2025, que puede descargar de la página principal de Ejemplos de Microsoft SQL Server y proyectos de comunidad.

A. Devolver propiedades para el índice en la tabla Employee

El siguiente ejemplo devuelve los valores para , IsClusteredIndexDepth, y IndexFillFactor propiedades para el PK_Employee_BusinessEntityID índice de la Employee tabla en la base de datos AdventureWorks2025.

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];

Este es el conjunto de resultados.

Is Clustered Index Depth Fill Factor
------------ ----------- -----------
1            2           0

Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)

B. Devuelve las propiedades del índice en la tabla FactResellerSales

En el siguiente ejemplo se examinan las propiedades de uno de los índices de la tabla 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