Eliminare chiavi primarie
si applica a: SQL Server 2016 (13.x) e versioni successive
database SQL di Azure
Istanza gestita di SQL di Azure
database SQL in Microsoft Fabric
È possibile eliminare una chiave primaria in SQL Server usando SQL Server Management Studio o Transact-SQL.
Quando viene eliminata la chiave primaria, viene eliminato l'indice corrispondente. Questo indice potrebbe essere l'indice cluster della tabella, trasformando la tabella in un heap. Per altre informazioni, vedere Heaps (tabelle senza indici clusterizzati). La maggior parte delle tabelle dovrebbe avere un indice cluster. Per ricreare la chiave primaria, vedere Creare chiavi primarie.
È possibile fare riferimento alle chiavi primarie tramite chiavi esterne in un'altra tabella. Se si fa riferimento a una chiave esterna, è necessario eliminare prima di tutto il riferimento a chiavi esterne, quindi eliminare la chiave primaria. Per altre informazioni, vedere vincoli di chiave primaria ed esterna.
Autorizzazioni
È richiesta l'autorizzazione ALTER
per la tabella.
Usare SQL Server Management Studio
Eliminare un vincolo di chiave primaria usando Esplora oggetti
In Esplora oggetti, espandere la tabella contenente la chiave primaria, quindi espandere la cartella Chiavi.
Fare clic con il pulsante destro del mouse sulla chiave e scegliere Elimina.
Nella finestra di dialogo Elimina oggetto verificare che sia specificata la chiave corretta e fare clic su OK.
Eliminare un vincolo di chiave primaria tramite Designer di tabelle
In Esplora oggetti fare clic con il pulsante destro del mouse sulla tabella con la chiave primaria e scegliere Progetta.
Nella griglia della tabella fare clic con il pulsante destro del mouse sulla riga con la chiave primaria, quindi scegliere Rimuovi chiave primaria per attivare o disattivare l'impostazione.
Nota
Per annullare questa operazione, chiudere la tabella senza salvare le modifiche. L'eliminazione di una chiave primaria non può essere annullata senza perdere tutte le altre modifiche apportate alla tabella.
Nel menu File scegliere Salvanome_tabella.
Usare Transact-SQL
Eliminare un vincolo di chiave primaria
In Esplora oggetti connettersi a un'istanza del motore di database.
Sulla barra Standard selezionare Nuova query.
Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui.
È necessario innanzitutto identificare il nome del vincolo di chiave primaria.
USE AdventureWorks2022; GO -- Return the name of primary key. SELECT name FROM sys.key_constraints WHERE type = 'PK' AND OBJECT_NAME(parent_object_id) = N'TransactionHistoryArchive'; GO
Per creare lo script
DROP
, usare il risultato della query precedente. Sostituire<primary-key-constraint>
con il valore corretto. Potrebbe essere simile aPK_TransactionHistoryArchive_TransactionID
.ALTER TABLE Production.TransactionHistoryArchive DROP CONSTRAINT <primary-key-constraint>; GO