동기화 시 트리거 및 제약 조건의 동작 제어Control Behavior of Triggers and Constraints in Synchronization

동기화하는 동안 복제 에이전트는 복제된 테이블에서 INSERT(Transact-SQL), UPDATE(Transact-SQL)DELETE(Transact-SQL) 문을 실행합니다. 그러면 이 테이블에서 DML(데이터 조작 언어) 트리거가 실행될 수 있습니다.During synchronization, replication agents execute INSERT (Transact-SQL), UPDATE (Transact-SQL), and DELETE (Transact-SQL) statements on replicated tables, which can cause data manipulation language (DML) triggers on these tables to be executed. 그러나 동기화하는 동안 이러한 트리거 실행을 방지하거나 제약 조건을 적용하지 않아야 하는 경우가 있습니다.There are cases when you may need to prevent these triggers from firing or constraints from being enforced during synchronization. 이 동작은 트리거 또는 제약 조건을 만드는 방법에 따라 달라집니다.This behavior depends on how the trigger or constraint is created.

동기화하는 동안 트리거 실행을 방지하려면To prevent triggers from executing during synchronization

  1. 새 트리거를 만들 때 CREATE TRIGGER(Transact-SQL)의 NOT FOR REPLICATION 옵션을 지정합니다.When creating a new trigger, specify the NOT FOR REPLICATION option of CREATE TRIGGER (Transact-SQL).

  2. 기존 트리거에 대해서는 ALTER TRIGGER(Transact-SQL)의 NOT FOR REPLICATION 옵션을 지정합니다.For an existing trigger, specify the NOT FOR REPLICATION option of ALTER TRIGGER (Transact-SQL).

동기화하는 동안 제약 조건을 적용하지 않으려면To prevent constraints from being enforced during synchronization

  1. 새 CHECK 또는 FOREIGN KEY 제약 조건을 만들 때 CREATE TABLE(Transact-SQL)의 제약 조건 정의에서 CHECK NOT FOR REPLICATION 옵션을 지정합니다.When creating a new CHECK or FOREIGN KEY constraint, specify CHECK NOT FOR REPLICATION option in the constraint definition of CREATE TABLE (Transact-SQL).

관련 항목:See Also

테이블 만들기(데이터베이스 엔진)Create Tables (Database Engine)