Establecer opciones de índice

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

En este tema, se explica cómo modificar las propiedades de un índice en SQL Server mediante SQL Server Management Studio o Transact-SQL.

En este artículo

Antes de empezar

Limitaciones y restricciones

  • Las siguientes opciones se aplican inmediatamente al índice mediante la cláusula SET de la instrucción ALTER INDEX: ALLOW_PAGE_LOCKS, ALLOW_ROW_LOCKS, OPTIMIZE_FOR_SEQUENTIAL_KEY, IGNORE_DUP_KEY, and STATISTICS_NORECOMPUTE.
  • Las opciones siguientes se pueden establecer cuando se vuelve a generar un índice mediante ALTER INDEX REBUILD o CREATE INDEX WITH DROP_EXISTING: PAD_INDEX, FILLFACTOR, SORT_IN_TEMPDB, IGNORE_DUP_KEY, STATISTICS_NORECOMPUTE, ONLINE, ALLOW_ROW_LOCKS, ALLOW_PAGE_LOCKS, MAXDOP y DROP_EXISTING (solo CREATE INDEX).

Seguridad

Permisos

Requiere el permiso ALTER en la tabla o la vista.

Uso de SQL Server Management Studio

Para modificar las propiedades de un índice en el Diseñador de tablas

  1. En el Explorador de objetos, haga clic en el signo más para expandir la base de datos que contiene la tabla en la que quiere modificar las propiedades de un índice.
  2. Haga clic en el signo más para expandir la carpeta Tablas .
  3. Haga clic con el botón derecho en la tabla en la que quiere modificar las propiedades de un índice y seleccione Diseño.
  4. En el menú Diseñador de tablas , haga clic en Índices o claves.
  5. Seleccione el índice que desea modificar. Sus propiedades aparecerán en la cuadrícula principal.
  6. Cambie los valores de una o todas las propiedades para personalizar el índice.
  7. Haga clic en Cerrar.
  8. En el menú Archivo , seleccione Guardarnombre_tabla.

Para modificar las propiedades de un índice en el Explorador de objetos

  1. En el Explorador de objetos, haga clic en el signo más para expandir la base de datos que contiene la tabla en la que quiere modificar las propiedades de un índice.
  2. Haga clic en el signo más para expandir la carpeta Tablas .
  3. Haga clic en el signo más para expandir la tabla en la que quiera modificar las propiedades de un índice.
  4. Haga clic en el signo más para expandir la carpeta Índices .
  5. Haga clic con el botón derecho en el índice en el que quiere modificar las propiedades y seleccione Propiedades.
  6. Debajo de Seleccionar una página, seleccione Opciones.
  7. Cambie los valores de una o todas las propiedades para personalizar el índice.
  8. Para agregar, quitar o cambiar la posición de una columna de índice, seleccione la página General del cuadro de diálogo Propiedades del índice:nombre_índice . Para obtener más información, consulte Index Properties F1 Help.

Usar Transact-SQL

Para ver las propiedades de todos los índices en una tabla

En el ejemplo siguiente se muestran las propiedades de todos los índices de una tabla en la base de datos de AdventureWorks.

SELECT i.name AS index_name
   , i.type_desc
   , i.is_unique
   , ds.type_desc AS filegroup_or_partition_scheme
   , ds.name AS filegroup_or_partition_scheme_name
   , i.ignore_dup_key
   , i.is_primary_key
   , i.is_unique_constraint
   , i.fill_factor
   , i.is_padded
   , i.is_disabled
   , i.allow_row_locks
   , i.allow_page_locks
   , i.has_filter
   , i.filter_definition
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('HumanResources.Employee')
;

Para establecer las propiedades de un índice

En el ejemplo siguiente se establecen las propiedades de los índices de la base de datos de AdventureWorks.

ALTER INDEX AK_SalesOrderHeader_SalesOrderNumber ON
    Sales.SalesOrderHeader
SET (
    STATISTICS_NORECOMPUTE = ON,
    IGNORE_DUP_KEY = ON,
    ALLOW_PAGE_LOCKS = ON
    )
;
ALTER INDEX ALL ON Production.Product
REBUILD WITH 
   (
       FILLFACTOR = 80
       , SORT_IN_TEMPDB = ON
       , STATISTICS_NORECOMPUTE = ON
   )
;

Para más información, vea ALTER INDEX (Transact-SQL).