Aracılığıyla paylaş


Birincil anahtarları silme

Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümler Azure SQL DatabaseAzure SQL Managed InstanceSQL database in Microsoft Fabric

SQL Server Management Studio veya Transact-SQL kullanarak SQL Server'daki birincil anahtarı silebilirsiniz (bırakabilirsiniz).

Birincil anahtar silindiğinde ilgili dizin silinir. Bu dizin, tablonun kümelenmiş dizini olabilir ve bu da tablonun yığın haline gelmesine neden olabilir. Daha fazla bilgi için bkz. Yığınlar (kümelenmiş dizin içermeyen tablolar). Çoğu tablonun kümelenmiş dizini olmalıdır. Birincil anahtarı yeniden oluşturmak için bkz. Birincil anahtar oluşturma.

Birincil anahtarlara başka bir tablodaki yabancı anahtarlar tarafından başvurulabilir. Yabancı anahtar tarafından başvuruldıysa, önce yabancı anahtarlara başvurmayı bırakmanız ve ardından birincil anahtarı bırakmanız gerekir. Daha fazla bilgi için bkz. Birincil ve yabancı anahtar kısıtlamaları.

Permissions

Tabloda ALTER izin gerektirir.

SQL Server Management Studio kullanma

Nesne Gezgini'ne kullanarak birincil anahtar kısıtlamasını silme

  1. Nesne Gezgini'nde birincil anahtarı içeren tabloyu genişletin ve ardından Anahtarlargenişletin.

  2. Anahtara sağ tıklayın ve Silöğesini seçin.

  3. Nesne Sil iletişim kutusunda doğru anahtarın belirtildiğini doğrulayın ve Tamam'ıseçin.

Tablo Tasarımcısı'nı kullanarak birincil anahtar kısıtlamasını silme

  1. Nesne Gezgini'nde birincil anahtarı içeren tabloya sağ tıklayın ve tasarım seçin.

  2. Tablo kılavuzunda, birincil anahtarı içeren satıra sağ tıklayın ve ayarı kapatmak için Birincil Anahtarı Kaldır seçeneğini seçin.

    Note

    Bu eylemi geri almak için, değişiklikleri kaydetmeden tabloyu kapatın. Birincil anahtarı silme işlemi, tabloda yapılan diğer tüm değişiklikleri kaybetmeden geri alınamaz.

  3. Dosya menüsünden Kaydet'i seçintablo adı.

Transact-SQL kullanma

Birincil anahtar kısıtlamasını silme

  1. Nesne Gezgini, Veritabanı Motoru örneğine bağlanın.

  2. Standart çubuğunda, Yeni Sorguseçin.

  3. Aşağıdaki örneği kopyalayıp sorgu penceresine yapıştırın ve Executeöğesini seçin.

    • Önce birincil anahtar kısıtlamasının adını tanımlamanız gerekir.

      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
      
    • DROP betiğini oluşturmak için önceki sorgunun sonucunu kullanın. <primary-key-constraint> değerini doğru değerle değiştirin. PK_TransactionHistoryArchive_TransactionIDgibi görünebilir.

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