INDEXPROPERTY (Transact-SQL)
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. Para los índices XML devuelve NULL.
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 de tipo 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 de tipo 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, object_ID no es un Id. de objeto válido, object_ID es un tipo de objeto incompatible con la propiedad especificada o el autor de la llamada no tiene permiso para ver los metadatos del objeto.
Propiedad
Descripción
Valor
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 = Verdadero
0 = Falso o índice XML.
IsClustered
El índice está agrupado.
1 = Verdadero
0 = Falso o índice 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 = 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 = Verdadero
0 = Falso o índice 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 = Falso o índice XML.
IsPageLockDisallowed
El valor de bloqueo de página establecido por la opción ALLOW_PAGE_LOCKS de ALTER INDEX.
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.
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 = Verdadero
0 = Falso o índice XML.
IsUnique
El índice es exclusivo.
1 = Verdadero
0 = Falso o índice XML.
IsColumnstore
El índice es un índice de almacén de columnas optimizado de memoria xVelocity.
1 = Verdadero
0 = Falso
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, vea Configuración de visibilidad de los metadatos.
Ejemplos
En el siguiente ejemplo se devuelven los valores de las propiedades IsClustered, IndexDepth e IndexFillFactor del índice PK_Employee_BusinessEntityID de la tabla Employee.
USE AdventureWorks2012;
GO
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];
GO
El siguiente es el conjunto de resultados:
Is Clustered Index Depth Fill Factor
------------ ----------- -----------
1 2 0
(1 row(s) affected)
Vea también
Referencia
sys.index_columns (Transact-SQL)
sys.stats_columns (Transact-SQL)