Bagikan melalui


Menghapus kunci primer

Berlaku untuk: SQL Server 2016 (13.x) dan Azure SQL DatabaseAzure 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

  1. Di Object Explorer, perluas tabel yang berisi kunci utama lalu perluas Kunci.

  2. Klik kanan kunci dan pilih Hapus.

  3. Dalam kotak dialog Hapus Objek , verifikasi bahwa kunci yang benar ditentukan dan pilih OK.

Untuk menghapus batasan kunci utama menggunakan Table Designer

  1. Di Object Explorer, klik kanan tabel dengan kunci utama, dan pilih Desain.

  2. 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.

  3. Pada menu File , pilih Simpannama tabel.

Menggunakan Transact-SQL

Untuk menghapus batasan kunci utama

  1. Di Object Explorer, sambungkan ke instans Mesin Database.

  2. Pada bilah Standar, pilih Kueri Baru.

  3. 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  
    

Langkah berikutnya