Поделиться через


Удаление первичных ключей

Область применения: SQL Server 2016 (13.x) и более поздних версий База данных SQL Azure Управляемый экземпляр SQL Azure

Вы можете удалить первичный ключ в SQL Server с помощью SQL Server Management Studio или Transact-SQL.

При удалении первичного ключа удаляется и соответствующий индекс. Это может быть кластеризованный индекс таблицы, в результате чего таблица станет кучей. Дополнительные сведения см. в статье Кучи (таблицы без кластеризованных индексов). Большинство таблиц должны иметь кластеризованный индекс. Сведения о повторном создании первичного ключа см. в разделе Создание первичных ключей.

Первичные ключи могут ссылаться на внешние ключи в другой таблице. Если на внешний ключ ссылается, сначала необходимо удалить ссылки на внешние ключи, а затем удалить первичный ключ. Дополнительные сведения см. в статье Primary and Foreign Key Constraints.

Разрешения

Требуется разрешение ALTER на таблицу.

Использование SQL Server Management Studio

Удаление ограничения первичного ключа с помощью обозревателя объектов

  1. В Обозревателе объектов разверните таблицу, которая содержит первичный ключ, и разверните узел Ключи.

  2. Щелкните ключ правой кнопкой мыши и выберите команду Удалить.

  3. В диалоговом окне Удаление объекта убедитесь в том, что выбран правильный ключ, и нажмите кнопку ОК.

Удаление ограничения первичного ключа с помощью конструктора таблиц

  1. В обозревателе объектов щелкните таблицу с первичным ключом правой кнопкой мыши и выберите пункт Конструктор.

  2. В сетке таблицы щелкните правой кнопкой строку с первичным ключом и выберите пункт Удалить первичный ключ , чтобы переключить параметр.

    Примечание.

    Чтобы отменить это действие, закройте таблицу, не сохраняя изменений. Удаление первичного ключа не может быть отменено без потери всех других изменений, сделанных в таблице.

  3. В менюФайл выберите Сохранить имя таблицы.

Использование Transact-SQL

Удаление ограничения первичного ключа

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере сначала определяется имя ограничения первичного ключа, а затем удаляется ограничение.

    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  
    

Следующие шаги