Directrices para habilitar índices y restricciones
Cuando se deshabilita un índice, sigue deshabilitado hasta que se vuelve a generar o se quita. Puede habilitar un índice deshabilitado si lo vuelve a generar con uno de los métodos siguientes:
- Instrucción ALTER INDEX con la cláusula REBUILD
- CREATE INDEX con la cláusula DROP_EXISTING
- DBCC DBREINDEX
Si utiliza una de estas instrucciones, el índice se vuelve a generar y su estado se establece como habilitado.
[!NOTA] No es posible volver a generar un índice agrupado deshabilitado si la opción ONLINE está establecida en ON.
Después de volver a generar el índice, deben volver a habilitarse manualmente las restricciones deshabilitadas debido a la deshabilitación del índice. Las restricciones PRIMARY KEY y UNIQUE se habilitan cuando se regenera el índice asociado. Este índice debe volver a generarse (habilitarse) para poder habilitar las restricciones FOREIGN KEY que hacen referencia a la restricción PRIMARY KEY o UNIQUE. Las restricciones FOREIGN KEY se habilitan con la instrucción ALTER TABLE CHECK CONSTRAINT.
Cómo afecta un índice agrupado deshabilitado a los índices no agrupados
Cuando se vuelve a generar o se quita un índice agrupado deshabilitado, el efecto en los índices no agrupados depende del estado, deshabilitado o habilitado, de ambos tipos de índice. La siguiente tabla resume los efectos.
Si el índice agrupado está deshabilitado o habilitado y el índice no agrupado está deshabilitado, la acción del índice agrupado tiene los siguientes resultados en el índice no agrupado deshabilitado.
Si la acción del índice agrupado es | El índice no agrupado deshabilitado |
---|---|
ALTER INDEX REBUILD. |
Sigue deshabilitado. |
ALTER INDEX ALL REBUILD. |
Se vuelve a generar y se habilita. |
DROP INDEX. |
Sigue deshabilitado. |
CREATE INDEX WITH DROP_EXISTING. |
Sigue deshabilitado. |
Las acciones permitidas en índices no agrupados asociados con un índice agrupado dependen del estado, deshabilitado o habilitado, de ambos tipos de índice. La tabla siguiente resume las acciones permitidas en índices no agrupados.
Si la acción del índice no agrupado es | Y los índices agrupado y no agrupado están deshabilitados. | O bien el índice agrupado está habilitado y el índice no agrupado está deshabilitado o habilitado. |
---|---|---|
ALTER INDEX REBUILD. |
Se produce un error en la acción. |
La acción se realiza correctamente. |
DROP INDEX. |
La acción se realiza correctamente. |
La acción se realiza correctamente. |
CREATE INDEX WITH DROP_EXISTING. |
Se produce un error en la acción. |
La acción se realiza correctamente. |
Vea también
Conceptos
Reorganizar y volver a generar índices
Directrices para deshabilitar índices
Otros recursos
ALTER INDEX (Transact-SQL)
ALTER TABLE (Transact-SQL)