Contiene una fila por índice o montón de un objeto tabular, como una tabla, una vista o una función con valores de tabla.
Nombre de la columna
Tipo de datos
Descripción
object_id
int
Id. del objeto al que pertenece este índice.
name
sysname
Nombre del índice. name es único solo dentro del objeto .
NULL = Montón
id_de_índice
int
Id. del índice. index_id es único solo dentro del objeto .
0 = Montón
1 = Índice clúster
> 1 = Índice no agrupado
type
tinyint
Tipo de índice:
0 = Montón
1 = Almacén de filas agrupado (árbol B)
2 = Almacén de filas no agrupado (árbol B)
3 = XML
4 = Espacial
5 = Índice de almacén de columnas agrupado. Válido para : SQL Server 2014 (12.x) y versiones posteriores.
6 = Índice de almacén de columnas no agrupado. Válido para : SQL Server 2012 (11.x) y versiones posteriores.
7 = Índice hash no clúster. Válido para : SQL Server 2014 (12.x) y versiones posteriores.
type_desc
nvarchar(60)
Descripción del tipo de índice:
HEAP
CLUSTERED
NONCLUSTERED
XML
SPATIAL
ALMACÉN DE COLUMNAS AGRUPADOS: se aplica a: SQL Server 2014 (12.x) y versiones posteriores.
ALMACÉN DE COLUMNAS NO CLÚSTER: se aplica a: SQL Server 2012 (11.x) y versiones posteriores.
HASH NONCLUSTERED: los índices HASH NO CLÚSTER SOLO se admiten en tablas optimizadas para memoria. La sys.hash_indexes vista muestra los índices hash actuales y las propiedades hash. Para obtener más información, consulte sys.hash_indexes (Transact-SQL).Válido para : SQL Server 2014 (12.x) y versiones posteriores.
is_unique
bit
1 = El índice es exclusivo.
0 = El índice no es exclusivo.
Siempre es 0 para los índices clúster de almacén de columnas.
data_space_id
int
Id. del espacio de datos para este índice. El espacio de datos es un grupo de archivos o un esquema de partición.
0 = object_id es una función con valores de tabla o un índice en memoria.
ignore_dup_key
bit
1 = IGNORE_DUP_KEY está ON.
0 = IGNORE_DUP_KEY está OFF.
is_primary_key
bit
1 = El índice forma parte de una restricción PRIMARY KEY.
Siempre es 0 para los índices clúster de almacén de columnas.
is_unique_constraint
bit
1 = El índice forma parte de una restricción UNIQUE.
Siempre es 0 para los índices clúster de almacén de columnas.
fill_factor
tinyint
> 0 = porcentaje FILLFACTOR utilizado cuando se creó o recompiló el índice.
0 = Valor predeterminado
Siempre es 0 para los índices clúster de almacén de columnas.
is_padded
bit
1 = PADINDEX está ON.
0 = PADINDEX está OFF.
Siempre es 0 para los índices clúster de almacén de columnas.
is_disabled
bit
1 = El índice está deshabilitado.
0 = El índice no está deshabilitado.
is_hypothetical
bit
1 = 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.
0 = El índice no es hipotético.
allow_row_locks
bit
1 = El índice admite bloqueos de fila.
0 = El índice no admite bloqueos de fila.
Siempre es 0 para los índices clúster de almacén de columnas.
allow_page_locks
bit
1 = El índice admite bloqueos de página.
0 = El índice no admite bloqueos de página.
Siempre es 0 para los índices clúster de almacén de columnas.
has_filter
bit
1 = El índice tiene un filtro y solo contiene filas que cumplen con la definición del filtro.
0 = El índice no tiene un filtro.
filter_definition
nvarchar(max)
Expresión para el subconjunto de filas incluido en el índice filtrado.
NULL para montón, índice no filtrado o permisos insuficientes en la tabla.
compression_delay
int
> 0 = Retraso de compresión de índice de almacén de columnas especificado en minutos.
NULL = El retraso de compresión del grupo de filas del índice de almacén de columnas se administra automáticamente.
suppress_dup_key_messages
bit
1 = El índice está configurado para suprimir los mensajes de clave duplicados durante una operación de recompilación de índices.
0 = El índice no está configurado para suprimir mensajes de clave duplicados durante una operación de recompilación de índices.
Se aplica a: SQL Server (a partir de SQL Server 2017 (14.x)), Azure SQL Database y Azure SQL Instancia administrada
auto_created
bit
1 = El ajuste automático creó el índice.
0 = El usuario creó el índice.
Se aplica a: Azure SQL Database
optimize_for_sequential_key
bit
1 = El índice tiene habilitada la optimización de inserción de última página.
0 = Valor predeterminado. El índice tiene deshabilitada la optimización de inserción de última página.
Se aplica a: SQL Server (a partir de SQL Server 2019 (15.x)), Azure SQL Database y Azure SQL Instancia administrada
Permisos
La visibilidad de los metadatos en las vistas de catálogo se limita a los elementos protegibles y que son propiedad de un usuario o sobre los que el usuario ha recibido algún permiso. Para obtener más información, consulte Metadata Visibility Configuration.
Ejemplos
En el ejemplo siguiente se devuelven todos los índices de la tabla Production.Product de la base de datos AdventureWorks2022.
SELECT i.name AS index_name
,i.type_desc
,is_unique
,ds.type_desc AS filegroup_or_partition_scheme
,ds.name AS filegroup_or_partition_scheme_name
,ignore_dup_key
,is_primary_key
,is_unique_constraint
,fill_factor
,is_padded
,is_disabled
,allow_row_locks
,allow_page_locks
FROM sys.indexes AS i
INNER JOIN sys.data_spaces AS ds ON i.data_space_id = ds.data_space_id
WHERE is_hypothetical = 0 AND i.index_id <> 0
AND i.object_id = OBJECT_ID('Production.Product');
GO
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.