Ta bort primära nycklar
gäller för: SQL Server 2016 (13.x) och senare versioner
Azure SQL Database
Azure SQL Managed Instance
SQL-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
I Object Explorer expanderar du tabellen som innehåller primärnyckeln och expanderar sedan Nycklar.
Högerklicka på nyckeln och välj Ta bort.
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
Högerklicka på tabellen med den primära nyckeln i Object Explorer och välj Design.
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.
På menyn Arkiv väljer du Sparatabellnamn.
Använd Transact-SQL
Ta bort en primär nyckelbegränsning
I Object Exploreransluter du till en instans av databasmotorn.
I standardfältet väljer du Ny fråga.
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 somPK_TransactionHistoryArchive_TransactionID
.ALTER TABLE Production.TransactionHistoryArchive DROP CONSTRAINT <primary-key-constraint>; GO