Menghapus kunci primer
Berlaku untuk: SQL Server 2016 (13.x) dan Azure SQL Database Azure SQL Managed Instance yang lebih baru
Anda dapat menghapus (menghilangkan) kunci utama di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL.
Saat kunci utama dihapus, indeks yang sesuai akan dihapus. Ini mungkin indeks kluster tabel, menyebabkan tabel menjadi tumpukan. Untuk informasi selengkapnya, lihat Timbunan (Tabel tanpa Indeks Berkluster). Sebagian besar tabel harus memiliki indeks berkluster. Untuk membuat ulang kunci primer, lihat Membuat Kunci Primer.
Kunci primer dapat dirujuk oleh kunci asing dalam tabel lain. Jika dirujuk oleh kunci asing, Anda harus menjatuhkan referensi kunci asing terlebih dahulu, lalu menjatuhkan kunci utama. Untuk informasi selengkapnya, lihat Batasan Kunci Utama dan Asing.
Izin
Memerlukan izin UBAH pada tabel.
Menggunakan SQL Server Management Studio
Untuk menghapus batasan kunci utama menggunakan Object Explorer
Di Object Explorer, perluas tabel yang berisi kunci utama lalu perluas Kunci.
Klik kanan kunci dan pilih Hapus.
Dalam kotak dialog Hapus Objek , verifikasi bahwa kunci yang benar ditentukan dan pilih OK.
Untuk menghapus batasan kunci utama menggunakan Table Designer
Di Object Explorer, klik kanan tabel dengan kunci utama, dan pilih Desain.
Di kisi tabel, klik kanan baris dengan kunci utama dan pilih Hapus Kunci Primer untuk mengalihkan pengaturan dari aktif ke nonaktif.
Catatan
Untuk membatalkan tindakan ini, tutup tabel tanpa menyimpan perubahan. Menghapus kunci primer tidak dapat dibatalkan tanpa kehilangan semua perubahan lain yang dilakukan pada tabel.
Pada menu File , pilih Simpan nama tabel.
Menggunakan Transact-SQL
Untuk menghapus batasan kunci utama
Di Object Explorer, sambungkan ke instans Mesin Database.
Pada bilah Standar, pilih Kueri Baru.
Salin dan tempel contoh berikut ke dalam jendela kueri dan pilih Jalankan. Contoh pertama-tama mengidentifikasi nama batasan kunci utama lalu menghapus batasan.
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 -- Delete the primary key constraint. ALTER TABLE Production.TransactionHistoryArchive DROP CONSTRAINT PK_TransactionHistoryArchive_TransactionID; GO