使用 INSERT 與 UPDATE 陳述式停用檢查條件約束
適用於: SQL Server 2016 (13.x) 和更新版本 Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
您可以使用 SQL Server Management Studio 或 Transact-SQL,針對 SQL Server 中的 INSERT
和 UPDATE
交易來停用檢查限制式。 停用檢查條件約束之後,未來將不會根據條件約束的條件驗證資料行的插入或更新作業。 如果您確知新資料將違反現有條件約束,或是條件約束只適用於已經在資料庫中的資料,請使用此選項。
如需詳細資訊,請參閱檢查限制式。
注意
檢查限制式是使用 ALTER TABLE
陳述式來啟用和停用,該陳述式一律需要 結構描述修改鎖定 (Sch-M
)。 Sch-M 鎖定可禁止並行存取資料表。 如需詳細資訊,請參閱鎖定和 ALTER TABLE。
權限
需要資料表的 ALTER 權限。
使用 SQL Server Management Studio
若要停用 INSERT 和 UPDATE 陳述式的檢查條件約束
在 [物件總管]中,展開含有條件約束的資料表,然後展開 [條件約束] 資料夾。
以滑鼠右鍵按一下條件約束,然後選取 [修改]。
在 [資料表設計工具]底下的方格中,按一下 [於 INSERT 及 UPDATE 時強制套用] ,然後從下拉式功能表中選取 [否] 。
按一下 [關閉] 。
使用 Transact-SQL
若要停用 INSERT 和 UPDATE 陳述式的檢查條件約束
在物件總管中,連線到資料庫引擎的執行個體。
在標準列上,按一下 [新增查詢] 。
將下列範例複製並貼入查詢視窗中,然後按一下 [執行] 。
USE AdventureWorks2022; GO ALTER TABLE Purchasing.PurchaseOrderHeader NOCHECK CONSTRAINT CK_PurchaseOrderHeader_Freight; GO