刪除主索引鍵
適用於:SQL Server 2016 (13.x) 和更新版本 Azure SQL 資料庫 Azure SQL 受控執行個體
您可以使用 SQL Server Management Studio 或 Transact-SQL,來刪除 (卸除) SQL Server 中的主索引鍵。
刪除主索引鍵時,系統會刪除對應的索引。 這可能是資料表的叢集索引,導致資料表變成堆積。 如需詳細資訊,請參閱堆積 (無叢集索引的資料表)。 大部分的資料表都應該有叢集索引。 若要重新建立主索引鍵,請參閱建立主索引鍵。
主索引鍵可由另一個資料表中的外部索引鍵參考。 如果由外部索引鍵參考,您需要先卸除參考外部索引鍵,然後卸除主索引鍵。 如需詳細資訊,請參閱主要與外部索引鍵條件約束。
權限
需要資料表的 ALTER 權限。
使用 SQL Server Management Studio
若要使用物件總管來刪除主索引鍵條件約束
在 [物件總管] 中,展開包含主索引鍵的資料表,然後展開 [索引鍵]。
以滑鼠右鍵按一下索引鍵,然後選取 [刪除]。
在 [刪除物件] 對話方塊中,確認指定了正確的索引鍵,然後選取 [確定]。
若要使用資料表設計工具來刪除主索引鍵條件約束
在物件總管中,以滑鼠右鍵按一下含有主索引鍵的資料表,然後選取 [設計]。
在資料表方格中,以滑鼠右鍵按一下包含主索引鍵的資料列,然後選擇 [移除主索引鍵] 關閉設定。
注意
若要恢復此一動作,可將資料表關閉而不儲存變更。 如果恢復刪除主索引鍵的動作,將會遺失所有對資料表進行的其他變更。
在 [檔案] 功能表中,選取 [儲存表格名稱]。
使用 Transact-SQL
若要刪除主索引鍵條件約束
在物件總管中,連線到資料庫引擎的執行個體。
在標準列上,選取 [新增查詢]。
複製下列範例並將其貼到查詢視窗中,然後選取 [執行]。 此範例會先識別主索引鍵條件約束的名稱,然後再刪除條件約束。
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