Usuwanie kluczy podstawowych
Dotyczy: SQL Server 2016 (13.x) i nowsze wersje
Azure SQL Database
Azure SQL Managed Instance
SQL Database w usłudze Microsoft Fabric
Klucz podstawowy w programie SQL Server można usunąć za pomocą SQL Server Management Studio lub Transact-SQL.
Po usunięciu klucza podstawowego odpowiedni indeks zostanie usunięty. Ten indeks może stanowić indeks klastrowany tabeli, co powoduje, że tabela stanie się stosem. Aby uzyskać więcej informacji, zobacz heaps (tabele bez indeksów klastrowanych). Większość tabel powinna mieć indeks klastrowany. Aby ponownie utworzyć klucz podstawowy, zobacz Tworzenie kluczy podstawowych.
Klucze obce mogą odnosić się do kluczy podstawowych w innej tabeli. W przypadku przywoływania przez klucz obcy należy najpierw usunąć odwołania do kluczy obcych, a następnie usunąć klucz podstawowy. Aby uzyskać więcej informacji, zobacz ograniczenia dotyczące kluczy podstawowych i obcych.
Uprawnienia
Wymaga uprawnienia ALTER
do tabeli.
Korzystanie z programu SQL Server Management Studio
Usuwanie ograniczenia klucza podstawowego przy użyciu Eksploratora obiektów
W Eksploratorze obiektów rozwiń tabelę zawierającą klucz podstawowy, a następnie rozwiń węzeł Klucze.
Kliknij prawym przyciskiem myszy klucz i wybierz pozycję Usuń.
W oknie dialogowym Usuń obiekt sprawdź, czy określono prawidłowy klucz i wybierz pozycję OK.
Usuwanie ograniczenia klucza podstawowego przy użyciu projektanta tabel
W Eksploratorze obiektów kliknij prawym przyciskiem myszy tabelę zawierającą klucz podstawowy, a następnie wybierz Design.
W siatce tabeli kliknij prawym przyciskiem myszy wiersz z kluczem podstawowym i wybierz Usuń klucz podstawowy, aby przełączyć ustawienie z pozycji włączonej na wyłączone.
Notatka
Aby cofnąć tę akcję, zamknij tabelę bez zapisywania zmian. Usunięcie klucza podstawowego nie może zostać cofnięte bez utraty wszystkich innych zmian wprowadzonych w tabeli.
W menu plik wybierz pozycję Zapisz nazwę tabeli.
Użyj Transact-SQL
Usuwanie ograniczenia klucza podstawowego
W Eksploratorze obiektów nawiąż połączenie z wystąpieniem silnika bazy danych.
Na pasku standardowym wybierz pozycję Nowe zapytanie.
Skopiuj poniższy przykład i wklej go w oknie zapytania, a następnie wybierz pozycję Wykonaj.
Najpierw należy zidentyfikować nazwę ograniczenia klucza podstawowego.
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
Aby utworzyć skrypt
DROP
, użyj wyniku z poprzedniego zapytania. Zastąp<primary-key-constraint>
poprawną wartością. Może to wyglądać podobnie doPK_TransactionHistoryArchive_TransactionID
.ALTER TABLE Production.TransactionHistoryArchive DROP CONSTRAINT <primary-key-constraint>; GO