동기화 중 스크립트 실행(복제 Transact-SQL 프로그래밍)Execute Scripts During Synchronization (Replication Transact-SQL Programming)

복제는 트랜잭션 게시 및 병합 게시 구독자의 요청 시 스크립트 실행을 지원합니다.Replication supports on demand script execution for Subscribers to transactional and merge publications. 이 기능은 복제 작업 디렉터리에 스크립트를 복사한 다음 sqlcmd 를 사용하여 구독자에서 스크립트를 적용합니다.This functionality copies the script to the replication working directory and then uses sqlcmd to apply the script at the Subscriber. 구독자의 스크립트를 트랜잭션 게시에 적용할 때 오류가 발생하면 기본적으로 배포 에이전트가 중지됩니다.By default, if there is a failure when applying the script for a subscription to a transactional publication, the Distribution Agent will stop. 복제 저장 프로시저를 사용하여 프로그래밍 방식으로 실행되도록 Transact-SQLTransact-SQL 스크립트를 지정할 수 있습니다.You can specify a Transact-SQLTransact-SQL script to execute programmatically using replication stored procedures.

스냅숏, 트랜잭션 또는 병합 게시의 모든 구독자에 대해 실행되도록 스크립트를 지정하려면To specify a script to run for all Subscribers to a snapshot, transactional or merge publication

  1. 요청 시 실행되는 Transact-SQLTransact-SQL 스크립트를 작성 및 테스트합니다.Compose and test the Transact-SQLTransact-SQL script that will be executed on demand.

  2. 게시에 대한 스냅숏 에이전트가 액세스할 수 있는 위치에 스크립트 파일을 저장합니다.Save the script file to a location where it can be accessed by the Snapshot Agent for the publication.

  3. 게시 데이터베이스의 게시자에서 sp_addscriptexec(Transact-SQL)를 실행합니다.At the Publisher on the publication database, execute sp_addscriptexec (Transact-SQL). @publication, @scriptfile에 2단계에서 만든 전체 UNC 경로를 포함하는 스크립트 파일의 이름, @skiperror에 다음 값 중 하나를 지정합니다.Specify @publication, the name of the script file with full UNC path created in step 2 for @scriptfile, and one of the following values for @skiperror:

    • 0 - 오류가 발생하면 스크립트 실행이 중지됩니다.0 - the agent will stop executing the script if an error is encountered.

    • 1 - 오류가 발생하면 로그에 기록되고 스크립트는 계속 실행됩니다.1 - the agent will log errors and continue executing the script when errors are encountered.

  4. 지정된 스크립트는 구독을 동기화하기 위해 다음에 에이전트가 실행될 때 각 구독자에서 실행됩니다.The specified script will be executed at each Subscriber when the agent next runs to synchronize the subscription.

관련 항목:See Also

데이터 동기화Synchronize Data