복제 에이전트 실행 파일 개념Replication Agent Executables Concepts

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

다음과 같은 방법으로 복제 에이전트를 프로그래밍 방식으로 제어할 수 있습니다.Replication agents can be controlled programmatically in the following ways:

  • Microsoft.SqlServer.Replication 네임스페이스의 관리되는 에이전트 프로그래밍 인터페이스를 사용합니다.Using the managed agent programming interfaces in the Microsoft.SqlServer.Replication Namespace.

  • 제공된 매개 변수 집합을 사용하여 명령 프롬프트에서 에이전트 실행 파일을 호출합니다.Invoking agent executable files from the command prompt with a supplied set of parameters.

    명령 프롬프트에서 복제 에이전트를 직접 호출하면 배치 파일의 명령줄 스크립팅을 통해 에이전트에 프로그래밍 방식으로 액세스할 수 있습니다.Directly invoking replication agents from the command prompt enables agents to be programmatically accessed from command-line scripting in batch files. 명령 프롬프트에서 호출된 에이전트는 에이전트를 호출하거나 배치 파일을 시작한 사용자의 MicrosoftMicrosoft Windows 보안 계정으로 실행됩니다.When an agent is invoked from the command prompt, it runs under the MicrosoftMicrosoft Windows security account of the user that invoked the agent or started the batch file.

    실행 파일을 사용하면 다음과 같은 복제 에이전트 인스턴스를 실행할 수 있습니다.Instances of the following replication agents can be run using executable files.

  • 복제 배포 에이전트Replication Distribution Agent

  • 복제 로그 판독기 에이전트Replication Log Reader Agent

  • 복제 병합 에이전트Replication Merge Agent

  • 복제 큐 판독기 에이전트Replication Queue Reader Agent

  • 복제 스냅숏 에이전트Replication Snapshot Agent

    복제 에이전트를 호출할 때 성능 프로필을 사용하여 에이전트 실행 파일에 정의된 매개 변수 집합을 자동으로 전달할 수 있습니다.When invoking replication agents, you can use performance profiles to automatically pass a defined set of parameters to the agent executable. 자세한 내용은 Replication Agent Profiles을 참조하세요.For more information, see Replication Agent Profiles.

Examples

다음 예에서는 명령 프롬프트에서 복제 에이전트를 호출하는 방법을 보여 줍니다.The following examples show how to invoke replication agents from the command prompt. RMO(복제 관리 개체)를 사용하여 복제 에이전트를 호출할 수도 있습니다.Replication agents can also be invoked using Replication Management Objects (RMO). 자세한 내용은 구독 동기화(복제)를 참조하세요.For more information, see Synchronize Subscriptions (Replication).

참고

이 예에서는 가독성을 높이기 위해 줄 바꿈이 추가되었지만Line breaks in these examples were added to improve readability. 배치 파일에서 명령은 단일 행으로 작성해야 합니다.In a batch file, commands must be made in a single line.

스냅숏 에이전트 실행Running the Snapshot Agent

이 예제 배치 파일은 명령 프롬프트에서 스냅숏 에이전트를 호출하여 AdvWorksSalesOrdersMerge 게시에 대한 스냅숏을 생성합니다.This example batch file invokes the Snapshot Agent from the command prompt to generate a snapshot for the AdvWorksSalesOrdersMerge publication. (아래의 스크립트는 SQL Server 2016SQL Server 2016 파일(버전 130) 경로를 사용합니다.(The scripts below use the path to SQL Server 2016SQL Server 2016 files (version 130). SQL ServerSQL Server 버전의 파일을 가리키도록 스크립트를 조정해야 합니다.)You should adjust the scripts to point to the files for your version of SQL ServerSQL Server.)

REM -- Declare variables  
SET Publisher=%InstanceName%;  
SET PublicationDB=AdventureWorks2012;   
SET Publication=AdvWorksSalesOrdersMerge;   

REM --Start the Snapshot Agent to generate the snapshot for AdvWorksSalesOrdersMerge.  
"C:\Program Files\Microsoft SQL Server\130\COM\SNAPSHOT.EXE" -Publication %Publication%   
-Publisher %Publisher% -Distributor %Publisher% -PublisherDB %PublicationDB%   
-ReplicationType 2 -OutputVerboseLevel 1 -DistributorSecurityMode 1 ;  

배포 에이전트 실행Running the Distribution Agent

이 예제 배치 파일은 명령 프롬프트에서 배포 에이전트를 호출하여 AdvWorksProductTran 게시의 변경 내용을 밀어넣기 구독자에게 계속 복제합니다.This example batch file invokes the Distribution Agent from the command prompt to continuously replicate changes from the AdvWorksProductTran publication to a push subscriber.

REM -- Declare the variables.  
SET Publisher=%instancename%;  
SET Subscriber=%instancename%;  
SET PublicationDB=AdventureWorks2012;  
SET SubscriptionDB=AdventureWorks2012Replica;   
SET Publication=AdvWorksProductsTran;  

REM -- Start the Distribution Agent with four subscription streams.  
REM -- The following command must be supplied without line breaks.  
"C:\Program Files\Microsoft SQL Server\130\COM\DISTRIB.EXE" -Subscriber %Subscriber%   
-SubscriberDB %SubscriptionDB% -SubscriberSecurityMode 1 -Publication %Publication%   
-Publisher %Publisher% -PublisherDB %PublicationDB% -Distributor %Publisher%   
-DistributorSecurityMode 1 -Continuous -SubscriptionType 0 -SubscriptionStreams 4 ;  

병합 에이전트 실행Running the Merge Agent

이 예제 배치 파일은 명령 프롬프트에서 병합 에이전트를 호출하여 끌어오기 구독을 AdvWorksSalesOrdersMerge 게시에 동기화합니다.This example batch file invokes the Merge Agent from the command prompt to synchronize a pull subscription to the AdvWorksSalesOrdersMerge publication.

REM -- Declare the variables.  
SET Publisher=%instancename%;  
SET Subscriber=%instancename%;  
SET PublicationDB=AdventureWorks2012;  
SET SubscriptionDB=AdventureWorks2012Replica;   
SET Publication=AdvWorksSalesOrdersMerge;  

REM --Start the Merge Agent with concurrent upload and download processes.  
REM -- The following command must be supplied without line breaks.  
"C:\Program Files\Microsoft SQL Server\130\COM\REPLMERG.EXE" -Publication %Publication%    
-Publisher %Publisher%  -Subscriber  %Subscriber%  -Distributor %Publisher%    
-PublisherDB %PublicationDB%  -SubscriberDB %SubscriptionDB% -PublisherSecurityMode 1    
-OutputVerboseLevel 2  -SubscriberSecurityMode 1  -SubscriptionType 1 -DistributorSecurityMode 1    
-Validate 3  -ParallelUploadDownload 1 ;