방법: 트랜잭션 아티클의 데이터 변경 내용에 대한 전파 방법 설정(복제 Transact-SQL 프로그래밍)

기본적으로 복제는 변경 내용을 구독자에 전파하는 데 사용되는 저장 프로시저를 자동으로 생성합니다. 트랜잭션 복제를 사용하면 게시자에서 구독자로 변경 내용을 전파하는 방법을 제어할 수 있습니다. 이 전파 방법은 아티클을 만들 때 프로그래밍 방식으로 설정될 수 있으며 나중에 복제 저장 프로시저에서 변경할 수도 있습니다.

[!참고]

게시된 데이터 행에서 수행되는 각 DML(데이터 조작 언어) 작업 유형(삽입, 업데이트 또는 삭제)에 따라 다른 전파 방법을 지정할 수 있습니다.

자세한 내용은 트랜잭션 아티클에 대한 변경 내용을 전파하는 방법 지정을 참조하십시오.

Transact-SQL 명령을 사용하여 데이터 변경 내용을 전파하는 아티클을 만들려면

  • 게시 데이터베이스의 게시자에서 sp_addarticle을 실행합니다. @publication에 아티클이 속한 게시 이름, @article에 아티클 이름, @source_object에 게시할 데이터베이스 개체를 지정하고 다음 매개 변수 중 하나 이상에 SQL 값을 지정합니다.

    • @ins_cmd - INSERT 명령의 복제를 제어합니다.

    • @upd_cmd - UPDATE 명령의 복제를 제어합니다.

    • @del_cmd - DELETE 명령의 복제를 제어합니다.

    [!참고]

    위 매개 변수 중 하나에 SQL 값을 지정하면 해당 유형의 명령이 적절한 Transact-SQL 명령으로 구독자에 복제됩니다.

    자세한 내용은 방법: 아티클 정의(복제 Transact-SQL 프로그래밍)를 참조하십시오.

데이터 변경 내용을 전파하지 않는 아티클을 만들려면

  • 게시 데이터베이스의 게시자에서 sp_addarticle을 실행합니다. @publication에 아티클이 속한 게시 이름, @article에 아티클 이름, @source_object에 게시할 데이터베이스 개체를 지정하고 다음 매개 변수 중 하나 이상에 NONE 값을 지정합니다.

    • @ins_cmd - INSERT 명령의 복제를 제어합니다.

    • @upd_cmd - UPDATE 명령의 복제를 제어합니다.

    • @del_cmd - DELETE 명령의 복제를 제어합니다.

    [!참고]

    위 매개 변수 중 하나에 NONE 값을 지정하면 해당 유형의 명령이 구독자에 복제되지 않습니다.

    자세한 내용은 방법: 아티클 정의(복제 Transact-SQL 프로그래밍)를 참조하십시오.

사용자가 수정한 사용자 지정 저장 프로시저를 포함하는 아티클을 만들려면

  1. 게시 데이터베이스의 게시자에서 sp_addarticle을 실행합니다. @publication에 아티클이 속한 게시 이름, @article에 아티클 이름, @source_object에 게시할 데이터베이스 개체, 0x02 값(사용자 지정 저장 프로시저의 자동 생성 설정)을 포함하는 @schema_option 비트마스크에 값을 지정하고 다음 매개 변수 중 하나 이상을 지정합니다.

    • @ins_cmd - CALL sp_MSins_article_name 값을 지정합니다. 여기서 article_name@article에 지정된 값입니다.

    • @del_cmd - CALL sp_MSdel_article_name 또는 XCALL sp_MSdel_article_name 값을 지정합니다. 여기서 article_name@article에 지정된 값입니다.

    • @upd_cmd - SCALL sp_MSupd_article_name, CALL sp_MSupd_article_name, XCALL sp_MSupd_article_name 또는 MCALL sp_MSupd_article_name 값을 지정합니다. 여기서 article_name@article에 지정된 값입니다.

    [!참고]

    위 명령 매개 변수마다 복제 시 생성되는 저장 프로시저의 이름을 고유하게 지정할 수 있습니다.

    [!참고]

    CALL, SCALL, XCALL 및 MCALL 구문에 대한 자세한 내용은 트랜잭션 아티클에 대한 변경 내용을 전파하는 방법 지정을 참조하십시오.

    자세한 내용은 방법: 아티클 정의(복제 Transact-SQL 프로그래밍)를 참조하십시오.

  2. 스냅숏이 생성된 후 이 아티클이 속해 있는 게시의 스냅숏 폴더로 이동하여 아티클과 동일한 이름을 가진 .sch 파일을 찾습니다. Notepad.exe를 사용하여 이 파일을 열고 삽입, 업데이트 또는 삭제 저장 프로시저에 대한 CREATE PROCEDURE 명령을 찾은 후 프로시저 정의를 편집하여 데이터 변경 내용 전파에 대한 사용자 지정 논리를 제공합니다. 자세한 내용은 트랜잭션 아티클에 대한 변경 내용을 전파하는 방법 지정을 참조하십시오.

    주의 사항주의

    복제에서 생성된 스냅숏 파일을 편집할 때는 주의해야 합니다. 사용자 지정 저장 프로시저의 사용자 지정 논리를 테스트하고 지원해야 합니다. Microsoft는 사용자 지정 논리에 대한 지원을 제공하지 않습니다.

데이터 변경 내용을 전파하기 위해 사용자 지정 저장 프로시저의 사용자 지정 스크립팅을 포함하는 아티클을 만들려면

  1. 게시 데이터베이스의 게시자에서 sp_addarticle을 실행합니다. @publication에 아티클이 속한 게시 이름, @article에 아티클 이름, @source_object에 게시할 데이터베이스 개체, 0x02 값(사용자 지정 저장 프로시저의 자동 생성 설정)을 포함하는 @schema_option 비트마스크에 값을 지정하고 다음 매개 변수 중 하나 이상을 지정합니다.

    • @ins_cmd - CALL sp_MSins_article_name 값을 지정합니다. 여기서 article_name@article에 지정된 값입니다.

    • @del_cmd - CALL sp_MSdel_article_name 또는 XCALL sp_MSdel_article_name 값을 지정합니다. 여기서 article_name@article에 지정된 값입니다.

    • @upd_cmd - SCALL sp_MSupd_article_name, CALL sp_MSupd_article_name, XCALL sp_MSupd_article_name 또는 MCALL sp_MSupd_article_name 값을 지정합니다. 여기서 article_name@article에 지정된 값입니다.

    [!참고]

    위 명령 매개 변수마다 복제 시 생성되는 저장 프로시저의 이름을 고유하게 지정할 수 있습니다.

    [!참고]

    CALL, SCALL, XCALL 및 MCALL 구문에 대한 자세한 내용은 트랜잭션 아티클에 대한 변경 내용을 전파하는 방법 지정을 참조하십시오.

    자세한 내용은 방법: 아티클 정의(복제 Transact-SQL 프로그래밍)를 참조하십시오.

  2. 게시 데이터베이스의 게시자에서 ALTER PROCEDURE 문을 사용하여 삽입, 업데이트 및 삭제 사용자 지정 저장 프로시저에 대한 CREATE PROCEDURE 스크립트를 반환하도록 sp_scriptpublicationcustomprocs를 편집하면 합니다. 자세한 내용은 트랜잭션 아티클에 대한 변경 내용을 전파하는 방법 지정을 참조하십시오.

    주의 사항주의

    sp_scriptpublicationcustomprocs를 편집할 때는 유의해야 합니다. 저장 프로시저의 사용자 지정 논리를 테스트하고 지원해야 합니다. Microsoft는 시스템 저장 프로시저에 대한 변경이나 사용자 지정 논리에 대한 지원을 제공하지 않습니다.

기존 아티클에 대한 변경 내용 전파 방법을 변경하려면

  1. 게시 데이터베이스의 게시자에서 sp_changearticle을 실행합니다. @publication@article을 지정하고 @propertyins_cmd, upd_cmd 또는 del_cmd 값을 지정하고, @value에 적합한 전파 방법을 지정합니다.

  2. 변경하려는 각 전파 방법에 대해 1단계를 반복합니다.