Bagikan melalui


Menghapus kunci primer

Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru Azure SQL DatabaseAzure SQL Managed Instance SQL databasedi Microsoft Fabric

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. Indeks ini mungkin merupakan indeks kluster tabel, menyebabkan tabel menjadi tumpukan. Untuk informasi selengkapnya, lihat Heaps (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 perlu menghapus kunci asing yang merujuk terlebih dahulu, lalu hapuskan kunci primer. Untuk informasi selengkapnya, lihat Batasan kunci primer dan asing.

Permissions

Memerlukan izin ALTER pada tabel.

Menggunakan SQL Server Management Studio

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.

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.

    Note

    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

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.

    • Anda harus terlebih dahulu mengidentifikasi nama batasan kunci utama.

      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
      
    • Untuk membuat skrip DROP, gunakan hasil dari kueri sebelumnya. Ganti <primary-key-constraint> dengan nilai yang benar. Ini mungkin terlihat mirip dengan PK_TransactionHistoryArchive_TransactionID.

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