Dela via


Ta bort primära nycklar

gäller för: SQL Server 2016 (13.x) och senare versioner Azure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Du kan ta bort (släppa) en primärnyckel i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL.

När primärnyckeln tas bort tas motsvarande index bort. Det här indexet kan vara tabellens klustrade index, vilket gör att tabellen blir en heap. Mer information finns i Heaps (tabeller utan klustrade index). De flesta tabeller bör ha ett grupperat index. Information om hur du återskapar primärnyckeln finns i Skapa primära nycklar.

Primära nycklar kan refereras till av externa nycklar i en annan tabell. Om det refereras till en utländsk nyckel måste du först släppa de refererande utländska nycklarna och sedan släppa den primära nyckeln. Mer information finns i primära och sekundärnyckelbegränsningar.

Behörigheter

Kräver ALTER behörighet på tabellen.

Använda SQL Server Management Studio

Ta bort en primär nyckelbegränsning med Hjälp av Object Explorer

  1. I Object Explorer expanderar du tabellen som innehåller primärnyckeln och expanderar sedan Nycklar.

  2. Högerklicka på nyckeln och välj Ta bort.

  3. I dialogrutan Ta bort objekt kontrollerar du att rätt nyckel har angetts och väljer OK.

Ta bort en primär nyckelbegränsning med Table Designer

  1. Högerklicka på tabellen med den primära nyckeln i Object Explorer och välj Design.

  2. Högerklicka på raden med primärnyckeln i tabellrutnätet och välj Ta bort primärnyckel för att växla inställningen från på till av.

    Notera

    Om du vill ångra den här åtgärden stänger du tabellen utan att spara ändringarna. Det går inte att ångra borttagningen av en primärnyckel utan att förlora alla andra ändringar som gjorts i tabellen.

  3. På menyn Arkiv väljer du Sparatabellnamn.

Använd Transact-SQL

Ta bort en primär nyckelbegränsning

  1. I Object Exploreransluter du till en instans av databasmotorn.

  2. I standardfältet väljer du Ny fråga.

  3. Kopiera och klistra in följande exempel i frågefönstret och välj Kör.

    • Du måste först identifiera namnet på den primära nyckelbegränsningen.

      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
      
    • Om du vill skapa skriptet DROP använder du resultatet från föregående fråga. Ersätt <primary-key-constraint> med rätt värde. Det kan se ut ungefär som PK_TransactionHistoryArchive_TransactionID.

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