Condividi tramite


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)

Guida in linea e informazioni

Assistenza su SQL Server 2005