使用 INSERT 與 UPDATE 陳述式停用檢查條件約束

適用於:SQL Server 2016 (13.x) 和更新版本Azure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

您可以使用 SQL Server Management Studio 或 Transact-SQL,針對 SQL Server 中的 INSERTUPDATE 交易來停用檢查限制式。 停用檢查條件約束之後,未來將不會根據條件約束的條件驗證資料行的插入或更新作業。 如果您確知新資料將違反現有條件約束,或是條件約束只適用於已經在資料庫中的資料,請使用此選項。

如需詳細資訊,請參閱檢查限制式

注意

檢查限制式是使用 ALTER TABLE 陳述式來啟用和停用,該陳述式一律需要 結構描述修改鎖定 (Sch-M)。 Sch-M 鎖定可禁止並行存取資料表。 如需詳細資訊,請參閱鎖定和 ALTER TABLE

權限

需要資料表的 ALTER 權限。

使用 SQL Server Management Studio

若要停用 INSERT 和 UPDATE 陳述式的檢查條件約束

  1. [物件總管]中,展開含有條件約束的資料表,然後展開 [條件約束] 資料夾。

  2. 以滑鼠右鍵按一下條件約束,然後選取 [修改]

  3. [資料表設計工具]底下的方格中,按一下 [於 INSERT 及 UPDATE 時強制套用] ,然後從下拉式功能表中選取 [否]

  4. 按一下 [關閉] 。

使用 Transact-SQL

若要停用 INSERT 和 UPDATE 陳述式的檢查條件約束

  1. 在物件總管中,連線到資料庫引擎的執行個體。

  2. 在標準列上,按一下 [新增查詢]

  3. 將下列範例複製並貼入查詢視窗中,然後按一下 [執行]

    USE AdventureWorks2022;  
    GO  
    ALTER TABLE Purchasing.PurchaseOrderHeader  
    NOCHECK CONSTRAINT CK_PurchaseOrderHeader_Freight;   
    GO