INDEXPROPERTY (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

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 )   

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 una expresión que contiene el número de identificación de objeto de la tabla o de la vista indizada de la que se va a proporcionar información de propiedades del índice. object_ID es int.

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

property
Es una expresión que contiene el nombre de la propiedad de base de datos que se va a devolver. property es de tipo varchar(128) y puede tener uno de estos valores.

Nota

A menos que se especifique lo contrario, se devuelve NULL si property no es un nombre de propiedad válido, si object_ID no es un identificador de objeto válido, si object_ID es un tipo de objeto incompatible con la propiedad especificada o si 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 es válido.
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 han sido generadas por la opción AUTO_CREATE_STATISTICS de ALTER DATABASE. 1 = True

0 = Falso o índice XML.
IsClustered El índice está agrupado. 1 = True

0 = Falso o índice XML.
IsDisabled El índice está deshabilitado. 1 = True

0 = False

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. Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores.

1 = True

0 = Falso o índice XML.

NULL = La entrada no es válida.
IsHypothetical El índice es hipotético y no se puede utilizar 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 = True

0 = False o índice XML

NULL = La entrada no es válida.
IsPadIndex El índice especifica el espacio que debe dejarse abierto en cada nodo interior. Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores.

1 = True

0 = Falso o índice XML.
IsPageLockDisallowed El valor de bloqueo de página establecido por la opción ALLOW_PAGE_LOCKS de ALTER INDEX. Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores.

1 = No se permite el bloqueo de página.

0 = Se permite el bloqueo de página.

NULL = La entrada no es válida.
IsRowLockDisallowed El valor de bloqueo de fila establecido por la opción ALLOW_ROW_LOCKS de ALTER INDEX. Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores.

1 = No se permite el bloqueo de fila.

0 = Se permite el bloqueo de fila.

NULL = La entrada no es válida.
IsStatistics index_or_statistics_name son estadísticas creadas por la instrucción CREATE STATISTICS o por la opción AUTO_CREATE_STATISTICS de ALTER DATABASE. 1 = True

0 = Falso o índice XML.
IsUnique El índice es exclusivo. 1 = True

0 = Falso o índice XML.
IsColumnstore El índice es un índice de almacén de columnas optimizado de memoria xVelocity. Válido para : SQL Server 2012 (11.x) y versiones posteriores.

1 = True

0 = False
IsOptimizedForSequentialKey El índice tiene habilitada la optimización para inserciones de la última página. Válido para : SQL Server 2019 (15.x) y versiones posteriores.

1 = True

0 = False

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 INDEXPROPERTY, 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 los valores de las propiedades IsClustered, IndexDepth e IndexFillFactor del índice PK_Employee_BusinessEntityID de la tabla Employee en la base de datos AdventureWorks2022.

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

El conjunto de resultados es:

Is Clustered Index Depth Fill Factor   
------------ ----------- -----------   
1            2           0  
  
(1 row(s) affected)  

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

En el siguiente ejemplo se examinan las propiedades de uno de los índices de la tabla FactResellerSales.

-- Uses AdventureWorks  
  
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  

Vea también

CREATE INDEX (Transact-SQL)
estadísticas
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)
sys.stats (Transact-SQL)
sys.stats_columns (Transact-SQL)