Condividi tramite


Eliminare chiavi primarie

si applica a: SQL Server 2016 (13.x) e versioni successive database SQL di AzureIstanza gestita di SQL di Azuredatabase 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

  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.

Eliminare un vincolo di chiave primaria tramite Designer di 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 scegliere Salvanome_tabella.

Usare Transact-SQL

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.

    • È 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 a PK_TransactionHistoryArchive_TransactionID.

      ALTER TABLE Production.TransactionHistoryArchive
          DROP CONSTRAINT <primary-key-constraint>;
      GO