共用方式為


停用複寫的檢查條件約束

您可以使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 2012 中停用檢查條件約束。 您也可以明確停用複製的檢查條件約束,當您從舊版 SQL Server 發行資料時,這會相當實用。

[!附註]

如果使用複寫發行資料表,則會自動停用複製代理程式所執行作業的檢查條件約束。 當複寫代理程式在訂閱者端執行插入、更新或刪除時,不會檢查條件約束;如果使用者執行插入、更新或刪除,則會檢查條件約束。 停用複製代理程式的條件約束,是因為原本插入、更新或刪除資料時,就已在發行者端檢查過條件約束。 如需詳細資訊,請參閱<指定結構描述選項>。

本主題內容

  • 開始之前:

    安全性

  • 使用下列方法停用複製的檢查條件約束:

    SQL Server Management Studio

    Transact-SQL

開始之前

安全性

權限

需要資料表的 ALTER 權限。

搭配回到頁首連結使用的箭頭圖示[Top]

使用 SQL Server Management Studio

若要停用複製的檢查條件約束

  1. [物件總管] 中,展開包含您要修改之檢查條件約束的資料表,然後展開 [條件約束] 資料夾。

  2. 以滑鼠右鍵按一下您要修改的檢查條件約束,然後按一下 [修改]

  3. [檢查條件約束] 對話方塊中的 [資料表設計工具] 底下,針對 [強制複寫] 選取 [否] 值。

  4. 按一下 [關閉]

搭配回到頁首連結使用的箭頭圖示[Top]

使用 Transact-SQL

若要停用複製的檢查條件約束

  1. [物件總管] 中,連接到 Database Engine 的執行個體。

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

  3. 將下列範例複製並貼到查詢視窗中,然後按一下 [執行]。 此範例會建立包含 IDENTITY 資料行及 CHECK 條件約束的資料表。 接著範例會卸除條件約束再重新建立,並指定 NOT FOR REPLICATION 子句。

    USE AdventureWorks2012;
    GO
    CREATE TABLE dbo.doc_exd (column_a int IDENTITY (1,1) 
    CONSTRAINT exd_check CHECK (column_a > 1)) 
    
    ALTER TABLE dbo.doc_exd 
    DROP CONSTRAINT exd_check; 
    GO
    ALTER TABLE dbo.doc_exd  
    ADD CONSTRAINT exd_check CHECK NOT FOR REPLICATION (column_a > 1);
    

如需詳細資訊,請參閱<ALTER TABLE (Transact-SQL)>。

搭配回到頁首連結使用的箭頭圖示[Top]

請參閱

概念

指定結構描述選項