Linee guida per l'abilitazione 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