Share via


刪除主索引鍵

適用於:SQL Server 2016 (13.x) 及更新版本 Azure SQL DatabaseAzure SQL 受控執行個體

您可以使用 SQL Server Management Studio 或 Transact-SQL,來刪除 (卸除) SQL Server 中的主索引鍵。

刪除主索引鍵時,系統會刪除對應的索引。 這可能是資料表的叢集索引,導致資料表變成堆積。 如需詳細資訊,請參閱堆積 (無叢集索引的資料表)。 大部分的資料表都應該有叢集索引。 若要重新建立主索引鍵,請參閱建立主索引鍵

主索引鍵可由另一個資料表中的外部索引鍵參考。 如果由外部索引鍵參考,您需要先卸除參考外部索引鍵,然後卸除主索引鍵。 如需詳細資訊,請參閱主要與外部索引鍵條件約束

權限

需要資料表的 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  
    

下一步