INDEXPROPERTY (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics 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 )
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)