Delen via


Primaire sleutels verwijderen

Van toepassing op: SQL Server 2016 (13.x) en latere versies Azure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

U kunt een primaire sleutel in SQL Server verwijderen (verwijderen) met behulp van SQL Server Management Studio of Transact-SQL.

Wanneer de primaire sleutel wordt verwijderd, wordt de bijbehorende index verwijderd. Deze index kan de geclusterde index van de tabel zijn, waardoor de tabel een heap wordt. Zie Heaps (tabellen zonder geclusterde indexen)voor meer informatie. De meeste tabellen moeten een geclusterde index hebben. Zie Primaire sleutels opnieuw aanmakenom de primaire sleutel te hercreƫren.

Er kan naar primaire sleutels worden verwezen door refererende sleutels in een andere tabel. Als een buitenlandse sleutel naar de primaire sleutel verwijst, moet u eerst de verwijzende buitenlandse sleutels verwijderen en vervolgens de primaire sleutel verwijderen. Voor meer informatie, zie beperkingen voor primaire en vreemde sleutels.

Machtigingen

Vereist ALTER toestemming voor de tabel.

SQL Server Management Studio gebruiken

Een primaire sleutelbeperking verwijderen met behulp van Object Explorer

  1. Vouw in Objectverkenner de tabel die de primaire sleutel bevat uit en vouw vervolgens Sleutelsuit.

  2. Klik met de rechtermuisknop op de toets en selecteer Verwijderen.

  3. Controleer in het dialoogvenster Object verwijderen of de juiste sleutel is opgegeven en selecteer OK-.

Een primaire-sleutelbeperking verwijderen met Table Designer

  1. Klik in ObjectVerkenner met de rechtermuisknop op de tabel met de primaire sleutel en selecteer Ontwerp.

  2. Klik in het tabelraster met de rechtermuisknop op de rij met de primaire sleutel en kies Primaire sleutel verwijderen om de instelling van aan naar uit te schakelen.

    Notitie

    Als u deze actie ongedaan wilt maken, sluit u de tabel zonder de wijzigingen op te slaan. Het verwijderen van een primaire sleutel kan niet ongedaan worden gemaakt zonder dat alle andere wijzigingen in de tabel verloren gaan.

  3. Selecteer in het menu BestandOpslaantabelnaam.

Gebruik Transact-SQL

Een primaire-sleutelbeperking verwijderen

  1. Maak in Objectverkennerverbinding met een instantie van Database Engine.

  2. Selecteer op de standaardbalk Nieuwe query.

  3. Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren.

    • U moet eerst de naam van de primaire-sleutelbeperking identificeren.

      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
      
    • Als u het DROP-script wilt maken, gebruikt u het resultaat van de vorige query. Vervang <primary-key-constraint> door de juiste waarde. Het kan er ongeveer uitzien als PK_TransactionHistoryArchive_TransactionID.

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