트랜잭션 아티클의 데이터 변경 내용을 전파하는 방법 설정

적용 대상:SQL ServerAzure SQL Managed Instance

이 항목에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server의 트랜잭션 아티클에 대한 데이터 변경에 대한 전파 방법을 설정하는 방법을 설명합니다.

기본적으로 트랜잭션 복제는 각 아티클에 대한 저장 프로시저 집합을 사용하여 변경 내용을 구독자에 전파합니다. 이러한 프로시저를 사용자 지정 프로시저로 바꿀 수 있습니다. 자세한 내용은 트랜잭션 아티클에 대한 변경 내용을 전파하는 방법 지정을 참조하세요.

시작하기 전에

제한 사항

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

SQL Server Management Studio 사용

아티클 속성 - <아티클> 대화 상자의 속성 탭에서 전파 메서드를 지정합니다. 이 대화 상자는 새 게시 마법사 및 게시 속성 - <게시> 대화 상자에서 사용할 수 있습니다. 마법사 사용 및 대화 상자 액세스에 대한 자세한 내용은 게시 만들기게시 속성 보기 및 수정을 참조하세요.

전파 방법을 지정하려면

  1. 새 게시 마법사 또는 게시 속성 - <게시> 대화 상자의 아티클 페이지에서 표를 선택한 다음 아티클 속성을 선택합니다.

  2. 강조 표시된 테이블 아티클 속성 설정을 선택합니다.

  3. 아티클 속성 - <아티클> 대화 상자의 속성 탭에 있는 문 배달 섹션에서 INSERT 배달 형식, 업데이트 배달 형식 및 DELETE 배달 형식 메뉴를 사용하여 각 작업에 대한 전파 방법을 지정합니다.

  4. 확인을 선택합니다.

  5. 게시 속성 - <게시> 대화 상자에 있는 경우 확인을 선택하여 대화 상자를 저장하고 닫습니다.

사용자 지정 저장 프로시저를 생성하고 사용하려면

  1. 새 게시 마법사 또는 게시 속성 - <게시> 대화 상자의 아티클 페이지에서 표를 선택한 다음 아티클 속성을 선택합니다.

  2. 강조 표시된 테이블 아티클 속성 설정을 선택합니다.

    아티클 속성 - <아티클> 대화 상자의 속성 탭에 있는 문 배달 섹션에서 적절한 배달 형식 메뉴(INSERT 배달 형식, UPDATE 배달 형식 또는 DELETE 배달 형식)에서 호출 구문을 선택한 다음 INSERT 저장 프로시저, DELETE 저장 프로시저 또는 UPDATE 저장 프로시저사용할 프로시저의 이름을 입력합니다. CALL 구문에 대한 자세한 내용은 트랜잭션 아티클에 대한 변경 내용 전파 방법 지정의 "저장 프로시저에 대한 호출 구문" 섹션을 참조하세요.

  3. 확인을 선택합니다.

  4. 게시 속성 - <게시> 대화 상자에 있는 경우 확인을 선택하여 대화 상자를 저장하고 닫습니다.

  5. 게시에 대한 스냅샷 생성되면 이전 단계에서 지정한 프로시저가 포함됩니다. 프로시저는 지정한 CALL 구문을 사용하지만 복제본(replica)tion에서 사용하는 기본 논리를 포함합니다.

    스냅샷 생성된 후 이 아티클이 속한 게시의 스냅샷 폴더로 이동하여 아티클과 이름이 같은 .sch 파일을 찾습니다. 메모장 또는 다른 텍스트 편집기를 사용하여 이 파일을 열고, 저장 프로시저 삽입, 업데이트 또는 삭제에 대한 CREATE PROCEDURE 명령을 찾고, 프로시저 정의를 편집하여 데이터 변경 내용을 전파하기 위한 사용자 지정 논리를 제공합니다. 스냅샷 다시 생성되는 경우 사용자 지정 프로시저를 다시 만들어야 합니다.

Transact-SQL 사용

트랜잭션 복제본(replica)tion을 사용하면 변경 내용이 게시자에서 구독자에게 전파되는 방식을 제어할 수 있으며, 나중에 복제본(replica)tion 저장 프로시저를 사용하여 아티클을 만들고 변경할 때 이 전파 방법을 프로그래밍 방식으로 설정할 수 있습니다.

참고 항목

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

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

Transact-SQL 명령을 사용하여 데이터 변경 내용을 전파하는 문서를 만들려면

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

    • @ins_cmd - INSERT 명령의 복제본(replica)tion을 제어합니다.

    • @upd_cmd - UPDATE 명령의 복제본(replica)tion을 제어합니다.

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

    참고 항목

    위의 매개 변수에 대해 SQL 값을 지정할 때 해당 형식의 명령은 적절한 Transact-SQL 명령으로 구독자에 복제본(replica)ted됩니다.

    자세한 내용은 아티클 정의를 참조 하세요.

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

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

    • @ins_cmd - INSERT 명령의 복제본(replica)tion을 제어합니다.

    • @upd_cmd - UPDATE 명령의 복제본(replica)tion을 제어합니다.

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

    참고 항목

    위의 매개 변수에 대해 NONE 값을 지정하는 경우 해당 형식의 명령은 구독자에 복제본(replica) 없습니다.

    자세한 내용은 아티클 정의를 참조 하세요.

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

  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 지정된 값입니다.

    참고 항목

    위의 각 명령 매개 변수에 대해 복제본(replica)tion에서 생성하는 저장 프로시저에 고유한 이름을 지정할 수 있습니다.

    참고 항목

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

    자세한 내용은 아티클 정의를 참조 하세요.

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

사용자 지정 저장 프로시저에서 사용자 지정 스크립팅을 사용하여 데이터 변경 내용을 전파하는 문서를 만들려면

  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 지정된 값입니다.

    참고 항목

    위의 각 명령 매개 변수에 대해 복제본(replica)tion에서 생성하는 저장 프로시저에 고유한 이름을 지정할 수 있습니다.

    참고 항목

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

    자세한 내용은 아티클 정의를 참조 하세요.

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

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

  1. 게시 데이터베이스의 게시자에서 sp_changearticle 실행합니다. @publication, @article, @property ins_cmd, upd_cmd 또는 del_cmd 및 @value 적절한 전파 메서드를 지정합니다.

  2. 변경할 각 전파 메서드에 대해 1단계를 반복합니다.

참고 항목