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

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

В этом разделе

Перед началом работы

Безопасность

Разрешения

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

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

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

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

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

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

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

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

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

    Замечание

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

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

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

Чтобы удалить ограничение первичного ключа

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

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

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

    USE AdventureWorks2012;  
    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  
    

Дополнительные сведения см. в разделе ALTER TABLE (Transact-SQL) и sys.key_constraints (Transact-SQL)