Eliminazione di una tabella

Talvolta è necessario eliminare una tabella, ad esempio quando si desidera implementare una nuova struttura o liberare spazio nel database. Quando si elimina una tabella, la relativa definizione strutturale, i dati, gli indici full-text, i vincoli e gli indici corrispondenti vengono eliminati definitivamente dal database e lo spazio utilizzato in precedenza per archiviare la tabella e gli indici corrispondenti viene reso disponibile per altre tabelle. È possibile eliminare una tabella temporanea in modo esplicito se non si desidera attendere che venga eliminata automaticamente.

Se è necessario eliminare tabelle correlate tramite vincoli FOREIGN KEY e UNIQUE o PRIMARY KEY, è necessario eliminare innanzitutto le tabelle con i vincoli FOREIGN KEY. Se è necessario eliminare una tabella cui fa riferimento un vincolo FOREIGN KEY ma non è possibile eliminare l'intera tabella della chiave esterna, è necessario eliminare il vincolo FOREIGN KEY.

Se si desidera eliminare tutti i dati inclusi in una tabella ma non la tabella stessa, è possibile troncare la tabella. Per ulteriori informazioni, vedere Eliminazione di tutte le righe con l'istruzione TRUNCATE TABLE.

È possibile eliminare o troncare tabelle e indici di dimensioni elevate che utilizzano più di 128 extent senza mantenere blocchi simultanei in tutti gli extent necessari per l'eliminazione. In Motore di database le rimozioni di oggetti di dimensioni elevate vengono gestite suddividendo tali oggetti in due fasi distinte, ovvero la fase logica e quella fisica. Nella fase logica le unità di allocazione esistenti utilizzate dalla tabella vengono contrassegnate per la deallocazione e bloccate fino a quando non viene eseguito il commit della transazione. Nella fase fisica le unità di allocazione contrassegnate per la deallocazione vengono rimosse fisicamente in batch. Per ulteriori informazioni, vedere Eliminazione e ricostruzione di oggetti di grandi dimensioni.

Per eliminare una tabella

DROP TABLE (Transact-SQL)

Per eliminare un vincolo FOREIGN KEY

ALTER TABLE (Transact-SQL)

Per troncare una tabella

TRUNCATE TABLE (Transact-SQL)

Vedere anche

Altre risorse