停用複寫的檢查條件約束
您可以使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 2012 中停用檢查條件約束。 您也可以明確停用複製的檢查條件約束,當您從舊版 SQL Server 發行資料時,這會相當實用。
[!附註]
如果使用複寫發行資料表,則會自動停用複製代理程式所執行作業的檢查條件約束。 當複寫代理程式在訂閱者端執行插入、更新或刪除時,不會檢查條件約束;如果使用者執行插入、更新或刪除,則會檢查條件約束。 停用複製代理程式的條件約束,是因為原本插入、更新或刪除資料時,就已在發行者端檢查過條件約束。 如需詳細資訊,請參閱<指定結構描述選項>。
本主題內容
開始之前:
安全性
使用下列方法停用複製的檢查條件約束:
SQL Server Management Studio
Transact-SQL
開始之前
安全性
權限
需要資料表的 ALTER 權限。
[Top]
使用 SQL Server Management Studio
若要停用複製的檢查條件約束
在 [物件總管] 中,展開包含您要修改之檢查條件約束的資料表,然後展開 [條件約束] 資料夾。
以滑鼠右鍵按一下您要修改的檢查條件約束,然後按一下 [修改]。
在 [檢查條件約束] 對話方塊中的 [資料表設計工具] 底下,針對 [強制複寫] 選取 [否] 值。
按一下 [關閉]。
[Top]
使用 Transact-SQL
若要停用複製的檢查條件約束
在 [物件總管] 中,連接到 Database Engine 的執行個體。
在標準列上,按一下 [新增查詢]。
將下列範例複製並貼到查詢視窗中,然後按一下 [執行]。 此範例會建立包含 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]