Eliminare chiavi primarie

Si applica a: SQL Server 2016 (13.x) e versioni successive Database SQL diIstanza gestita di SQL di Azure

È 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. Può trattarsi dell'indice cluster della tabella, trasformando la tabella in un heap. Per altre informazioni, vedere Heap (tabelle senza indici cluster). 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 escludere prima di tutto il riferimento a chiavi esterne, quindi escludere la chiave primaria. Per altre informazioni, vedere Primary and Foreign Key Constraints.

Autorizzazioni

È necessario disporre dell'autorizzazione ALTER per la tabella.

Usare SQL Server Management Studio

Per eliminare un vincolo chiave primaria utilizzando Esplora oggetti

  1. In Esplora oggetti, espandere la tabella contenente la chiave primaria, quindi espandere la cartella Chiavi.

  2. Fare clic con il pulsante destro del mouse sulla chiave e scegliere Elimina.

  3. Nella finestra di dialogo Elimina oggetto verificare che sia specificata la chiave corretta e fare clic su OK.

Per eliminare un vincolo chiave primaria utilizzando Progettazione tabelle

  1. In Esplora oggetti fare clic con il pulsante destro del mouse sulla tabella con la chiave primaria e scegliere Progetta.

  2. 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.

  3. Nel menu File selezionare Salvanome tabella.

Usare Transact-SQL

Per eliminare un vincolo di chiave primaria

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra Standard selezionare Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui. Nell'esempio viene prima identificato il nome del vincolo di chiave primaria, quindi questo viene eliminato.

    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  
    -- Delete the primary key constraint.  
    ALTER TABLE Production.TransactionHistoryArchive  
    DROP CONSTRAINT PK_TransactionHistoryArchive_TransactionID;   
    GO  
    

Passaggi successivi