Linee guida per l'attivazione di indici e vincoli
Dopo la disattivazione, un indice rimane nello stato disattivato finché non viene ricostruito o eliminato. Per ricostruire e attivare un indice disattivato, utilizzare uno dei metodi seguenti:
- Istruzione ALTER INDEX con clausola REBUILD
- Istruzione CREATE INDEX con clausola DROP_EXISTING
- Istruzione DBCC DBREINDEX
Queste istruzioni consentiranno di ricostruire l'indice e di impostarne lo stato su attivato.
[!NOTA] Non è possibile ricostruire un indice cluster disattivato se l'opzione ONLINE è impostata su ON.
Dopo la ricostruzione dell'indice, sarà necessario attivare manualmente tutti i vincoli disattivati in seguito alla disattivazione dell'indice. Per attivare i vincoli PRIMARY KEY e UNIQUE, è necessario ricostruire l'indice associato. Ricostruire e attivare questo indice prima di attivare i vincoli FOREIGN KEY che fanno riferimento al vincolo PRIMARY KEY o UNIQUE. Per attivare i vincoli FOREIGN KEY, utilizzare l'istruzione ALTER TABLE CHECK CONSTRAINT.
Effetti di un indice cluster disattivato su indici non cluster
L'effetto della ricostruzione o dell'eliminazione di un indice cluster disattivato sugli indici non cluster dipende dallo stato, attivato o disattivato, di entrambi i tipi di indice. Nella tabella seguente vengono riepilogati gli effetti.
Se l'indice cluster è attivato o disattivato e l'indice non cluster è disattivato, l'operazione sull'indice cluster ha l'effetto seguente sull'indice non cluster disattivato.
Operazione su indice cluster | Effetto sull'indice non cluster disattivato |
---|---|
ALTER INDEX REBUILD. |
Rimane disattivato. |
ALTER INDEX ALL REBUILD. |
Viene ricostruito e attivato. |
DROP INDEX. |
Rimane disattivato. |
CREATE INDEX WITH DROP_EXISTING. |
Rimane disattivato. |
Le operazioni consentite su indici non cluster associati a un indice cluster dipendono dallo stato, disattivato o attivato, di entrambi i tipi di indice. Nella tabella seguente sono riepilogate le operazioni consentite sugli indici non cluster.
Operazione su indice non cluster | Indici cluster e non cluster disattivati. | Indice cluster attivato e indice non cluster disattivato o attivato. |
---|---|---|
ALTER INDEX REBUILD. |
Operazione non eseguita. |
Operazione eseguita. |
DROP INDEX. |
Operazione eseguita. |
Operazione eseguita. |
CREATE INDEX WITH DROP_EXISTING. |
Operazione non eseguita. |
Operazione eseguita. |
Vedere anche
Concetti
Riorganizzazione e ricostruzione degli indici
Linee guida per la disattivazione di indici
Altre risorse
ALTER INDEX (Transact-SQL)
ALTER TABLE (Transact-SQL)