Compartir a través de


sys.indexes (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseInstancia administrada de Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Base de datos SQL en La versión preliminar de Microsoft Fabric

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 dato Description
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
index_id 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 2
6 = Índice de almacén de columnas no agrupado 1
7 = Índice hash no clúster 2
9 = JSON 5
type_desc nvarchar(60) Descripción del tipo de índice:

-MONTÓN
-EN RACIMO
- NO AGRUPADO
-XML
-ESPACIAL
- ALMACÉN DE COLUMNAS AGRUPADO 2
- ALMACÉN DE COLUMNAS NO CLÚSTER 1
- HASH NO CLÚSTER 2, 8
- JSON 5
is_unique bit 1 = El índice es exclusivo.
0 = El índice no es único.

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 es OFF.
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 = PADRÓNDEX es OFF.
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 usar 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 permite 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 permite 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 3, 6, 7 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.
auto_created 6 bit 1 = El ajuste automático creó el índice.
0 = El usuario creó el índice.
optimize_for_sequential_key 4, 6, 7 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.

1Se aplica a: SQL Server 2012 (11.x) y versiones posteriores.

2Se aplica a: SQL Server 2014 (12.x) y versiones posteriores.

3Se aplica a: SQL Server 2017 (14.x) y versiones posteriores.

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

5Se aplica a: versión preliminar de SQL Server 2025 (17.x) y versiones posteriores.

6Se aplica a: Azure SQL Database.

7Se aplica a: Instancia administrada de Azure SQL.

Solo se admiten 8 NONCLUSTERED HASH índices 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.

Permissions

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 Configuración de visibilidad de metadatos.

Examples

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