복제 병합 에이전트Replication Merge Agent

복제 병합 에이전트는 데이터베이스 테이블에 저장된 초기 스냅숏 파일을 구독자에 적용하는 유틸리티 실행 파일입니다.The Replication Merge Agent is a utility executable that applies the initial snapshot held in the database tables to the Subscribers. 또한 이 에이전트는 초기 스냅숏이 만들어진 후 게시자에서 발생한 증분 데이터 변경 내용을 병합하고, 사용자가 구성한 규칙에 따라 또는 사용자가 만든 사용자 지정 해결 프로그램을 사용하여 충돌을 조정합니다.It also merges incremental data changes that occurred at the Publisher after the initial snapshot was created, and reconciles conflicts either according to the rules you configure or using a custom resolver you create.

참고

매개 변수는 지정되는 순서에 제한을 받지 않습니다.Parameters can be specified in any order. 선택적 매개 변수가 지정되지 않은 경우 로컬 컴퓨터의 미리 정의된 레지스트리 설정 값이 사용됩니다.When optional parameters are not specified, values from predefined registry settings on the local computer are used.

구문Syntax


replmerg [-?]   
-Publisher server_name[\instance_name]  
-PublisherDB publisher_database  
-Publication publication  
-Subscriber server_name[\instance_name]  
-SubscriberDB subscriber_database  
[-AltSnapshotFolder alt_snapshot_folder_path]  
[-Continuous]  
[-DefinitionFile def_path_and_file_name]  
[-DestThreads number_of_destination_threads]  
[-Distributor server_name[\instance_name]]  
[-DistributorLogin distributor_login]  
[-DistributorPassword distributor_password]  
[-DistributorSecurityMode [0|1]]  
[-DownloadGenerationsPerBatch download_generations_per_batch]  
[-DownloadReadChangesPerBatch download_read_changes_per_batch]  
[-DownloadWriteChangesPerBatch download_write_changes_per_batch]  
[-DynamicSnapshotLocation dynamic_snapshot_location]  
[-EncryptionLevel [0|1|2]]  
[-ExchangeType [1|2|3]]  
[-FastRowCount [0|1]]  
[-FileTransferType [0|1]]  
[-ForceConvergenceLevel [0|1|2 (Publisher|Subscriber|Both)]]  
[-FtpAddress ftp_address]  
[-FtpPassword ftp_password]  
[-FtpPort ftp_port]  
[-FtpUserNameftp_user_name]  
[-HistoryVerboseLevel [0|1|2|3]]  
[-Hostname host_name]  
[-InteractiveResolution [0|1]]  
[-InternetLogin internet_login]  
[-InternetPassword internet_password]  
[-InternetProxyLogin internet_proxy_login]  
[–InternetProxyPassword internet_proxy_password]  
[-InternetProxyServer internet_proxy_server]  
[-InternetSecurityMode [0|1]]  
[-InternetTimeout internet_timeout]  
[-InternetURL internet_url]  
[-KeepAliveMessageInterval keep_alive_message_interval_seconds]  
[-LoginTimeOut login_time_out_seconds]  
[-MakeGenerationInterval make_generation_interval_seconds]  
[-MaxBcpThreads number_of_threads]  
[-MaxDownloadChanges number_of_download_changes]  
[-MaxUploadChanges number_of_upload_changes]  
[-MetadataRetentionCleanup [0|1]]  
[-Output]  
[-OutputVerboseLevel [0|1|2]]  
[-ParallelUploadDownload [0|1]]  
[-PacketSize packet_size]   
[-PollingInterval polling_interval]  
[-ProfileName profile_name]  
[-PublisherFailoverPartner server_name[\instance_name] ]  
[-PublisherLogin publisher_login]  
[-PublisherPassword publisher_password]  
[-PublisherSecurityMode [0|1]]  
[-QueryTimeOut query_time_out_seconds]  
[-SrcThreads number_of_source_threads]  
[-StartQueueTimeout start_queue_timeout_seconds]  
[-SubscriberConflictClean [0|1]]  
[-SubscriberDatabasePath subscriber_path]  
[-SubscriberDBAddOption [0|1|2|3]]  
[-SubscriberLogin subscriber_login]  
[-SubscriberPassword subscriber_password   
[-SubscriberSecurityMode [0|1]]  
[-SubscriberType [0|1|2|3|4|5|6|7|8|9]]  
[-SubscriptionType [0|1|2]]  
[-SyncToAlternate [0|1]  
[-UploadGenerationsPerBatch upload_generations_per_batch]  
[-UploadReadChangesPerBatch upload_read_changes_per_batch]  
[-UploadWriteChangesPerBatch upload_write_changes_per_batch]  
[-UseInprocLoader]  
[-Validate [0|1|2|3]]  
[-ValidateInterval validate_interval]  

인수Arguments

-?-?
사용 가능한 모든 매개 변수를 출력합니다.Prints all available parameters.

-Publisher server_name[\instance_name]-Publisher server_name[\instance_name]
게시자의 이름입니다.Is the name of the Publisher. 해당 서버에 있는 기본 server_name 인스턴스에 대해 MicrosoftMicrosoft SQL ServerSQL Server 을 지정합니다.Specify server_name for the default instance of MicrosoftMicrosoft SQL ServerSQL Server on that server. 해당 서버에 있는 명명된 server_name\instance_name instance_name SQL ServerSQL Server 인스턴스에 대해 server_name을 지정하고,Specify server_name\instance_name for a named instance of SQL ServerSQL Server on that server.

-PublisherDB publisher_database-PublisherDB publisher_database
게시자 데이터베이스의 이름입니다.Is the name of the Publisher database.

-Publication publication-Publication publication
게시의 이름입니다.Is the name of the publication. 이 매개 변수는 게시가 새 구독이나 다시 초기화된 구독에 대해 항상 스냅숏을 사용할 수 있도록 설정된 경우에만 유효합니다.This parameter is only valid if the publication is set to always have a snapshot available for new or reinitialized subscriptions.

-Subscriber server_name[\instance_name]-Subscriber server_name[\instance_name]
구독자의 이름입니다.Is the name of the Subscriber. 해당 서버에 있는 기본 server_name 인스턴스에 대해 SQL ServerSQL Server 을 지정합니다.Specify server_name for the default instance of SQL ServerSQL Server on that server. 해당 서버에 있는 명명된 server_name\instance_name instance_name SQL ServerSQL Server 인스턴스에 대해 server_name을 지정하고,Specify server_name\instance_name for a named instance of SQL ServerSQL Server on that server.

-SubscriberDB subscriber_database-SubscriberDB subscriber_database
구독자 데이터베이스의 이름입니다.Is the name of the Subscriber database.

-AltSnapshotFolder alt_snapshot_folder_path-AltSnapshotFolder alt_snapshot_folder_path
구독에 대한 초기 스냅숏이 들어 있는 폴더의 경로입니다.Is the path to the folder that contains the initial snapshot for a subscription.

-Continuous-Continuous
에이전트에서 복제된 트랜잭션의 폴링을 계속 시도할지 여부를 지정합니다.Specifies whether the agent attempts to poll replicated transactions continually. 이 인수가 지정된 경우 에이전트는 보류 중인 트랜잭션이 없는 경우에도 원본의 복제된 트랜잭션을 폴링 간격에 따라 폴링합니다.If specified, the agent polls replicated transactions from the source at polling intervals, even if there are no transactions pending.

-DestThreads number_of_destination_threads-DestThreads number_of_destination_threads
병합 에이전트에서 대상에 변경 내용을 적용하는 데 사용하는 대상 스레드의 개수를 지정합니다.Specifies the number of destination threads that the Merge Agent uses to apply changes at the destination. 업로드 중에는 게시자가 대상이 되고 다운로드 중에는 구독자가 대상이 됩니다.The destination is the Publisher during upload and the Subscriber during download. 기본값은 4입니다.The default is 4.

-DefinitionFile def_path_and_file_name-DefinitionFile def_path_and_file_name
에이전트 정의 파일의 경로입니다.Is the path of the agent definition file. 에이전트 정의 파일에는 에이전트의 명령 프롬프트 인수가 들어 있습니다.An agent definition file contains command prompt arguments for the agent. 파일 내용은 실행 파일로 구문 분석됩니다.The content of the file is parsed as an executable file. 임의 문자가 있는 인수 값을 지정하려면 큰따옴표(")를 사용합니다.Use double quotation marks (") to specify argument values containing arbitrary characters.

-Distributor server_name[\instance_name]-Distributor server_name[\instance_name]
배포자 이름입니다.Is the Distributor name. 해당 서버에 있는 기본 인스턴스에 대해 server_name SQL ServerSQL Server 을 지정하고,Specify server_name for the default instance of SQL ServerSQL Server on that server. 해당 서버에 있는 명명된 server_name\instance_name instance_name SQL ServerSQL Server 인스턴스에 대해 server_name을 지정하고,Specify server_name\instance_name for a named instance of SQL ServerSQL Server on that server. 배포자(밀어넣기) 배포의 경우에는 로컬 컴퓨터에 있는 기본 SQL ServerSQL Server 인스턴스의 이름이 기본 이름이 됩니다.For Distributor (push) distribution, the name defaults to the name of the default instance of SQL ServerSQL Server on the local computer.

-DistributorLogin distributor_login-DistributorLogin distributor_login
배포자의 로그인 이름입니다.Is the Distributor login name.

-DistributorPassword distributor_password-DistributorPassword distributor_password
배포자 암호입니다.Is the Distributor password.

-DistributorSecurityMode [ 0| 1]-DistributorSecurityMode [ 0| 1]
배포자의 보안 모드를 지정합니다.Specifies the security mode of the Distributor. 0SQL ServerSQL Server 인증 모드(기본값)를 나타내며 값 1 은 Windows 인증 모드를 나타냅니다.A value of 0 indicates SQL ServerSQL Server Authentication Mode (default), and a value of 1 indicates Windows Authentication Mode.

-DownloadGenerationsPerBatch download_generations_per_batch-DownloadGenerationsPerBatch download_generations_per_batch
게시자의 변경 내용을 구독자로 다운로드하는 동안 한 번의 일괄 처리에서 처리할 세대 수입니다.Is the number of generations to be processed in a single batch while downloading changes from the Publisher to the Subscriber. 세대는 아티클 단위의 논리적 변경 내용 그룹으로 정의됩니다.A generation is defined as a logical group of changes per article. 안정적인 통신 연결의 기본값은 100이고,The default for a reliable communication link is 100. 안정적이지 않은 통신 연결의 기본값은 10입니다.The default for an unreliable communication link is 10.

-DownloadReadChangesPerBatch download_read_changes_per_batch-DownloadReadChangesPerBatch download_read_changes_per_batch
게시자의 변경 내용을 구독자로 다운로드하는 동안 한 번의 일괄 처리에서 읽을 변경 내용 수입니다.Is the number of changes to be read in a single batch while downloading changes from the Publisher to the Subscriber. 기본값은 100입니다.The default is 100.

-DownloadWriteChangesPerBatch download_write_changes_per_batch-DownloadWriteChangesPerBatch download_write_changes_per_batch
게시자의 변경 내용을 구독자로 다운로드하는 동안 한 번의 일괄 처리에서 적용할 변경 내용 수입니다.Is the number of changes to be applied in a single batch while downloading changes from the Publisher to the Subscriber. 기본값은 100입니다.The default is 100.

-DynamicSnapshotLocation dynamic_snapshot_location-DynamicSnapshotLocation dynamic_snapshot_location
게시에서 매개 변수가 있는 행 필터를 사용할 경우 필터링된 데이터 스냅숏 파일의 위치입니다.Is the location of the filtered data snapshot files when the publication uses parameterized row filters.

-EncryptionLevel [ 0 | 1 | 2 ]-EncryptionLevel [ 0 | 1 | 2 ]
연결을 만들 때 병합 에이전트에서 사용하는 SSL(Secure Sockets Layer) 암호화의 수준입니다.Is the level of Secure Sockets Layer (SSL) encryption used by the Merge Agent when making connections.

EncryptionLevel 값EncryptionLevel value 설명Description
00 SSL이 사용되지 않음을 지정합니다.Specifies that SSL is not used.
11 SSL이 사용되지만 에이전트에서 SSL 서버 인증서가 트러스트된 발급자에 의해 서명된 것인지 확인하지 않음을 지정합니다.Specifies that SSL is used, but the agent does not verify that the SSL server certificate is signed by a trusted issuer.
22 SSL이 사용되고 인증서가 확인됨을 지정합니다.Specifies that SSL is used, and that the certificate is verified.

자세한 내용은 보안 개요(복제)를 참조하세요.For more information, see Security Overview (Replication).

-ExchangeType [ 1| 2| 3]-ExchangeType [ 1| 2| 3]

경고

Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다.This feature will be removed in a future version of Microsoft SQL Server. 새 개발 작업에서는 이 기능을 사용하지 말고, 현재 이 기능을 사용하는 응용 프로그램은 가능한 한 빨리 수정하세요.Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible. 업로드를 제한하려면 @subscriber_upload_optionssp_addmergearticle 를 대신 사용하십시오. To restrict uploading, use the @subscriber_upload_options of sp_addmergearticle instead.

동기화를 수행할 때의 데이터 교환 유형을 지정하며 값은 다음 중 하나일 수 있습니다.Specifies the type of data exchange during synchronization, which can be one of the following:

ExchangeType 값ExchangeType value 설명Description
11 에이전트에서 구독자의 데이터 변경 내용을 게시자로 업로드합니다.Agent should upload data changes from the Subscriber to the Publisher.
22 에이전트에서 게시자의 데이터 변경 내용을 구독자로 다운로드합니다.Agent should download data changes from the Publisher to the Subscriber.
3 (기본값)3 (default) 에이전트에서는 먼저 구독자의 데이터 변경 내용을 게시자로 업로드한 다음 게시자의 데이터 변경 내용을 구독자로 다운로드합니다.Agent should first upload data changes from the Subscriber to the Publisher and then download data changes from the Publisher to the Subscriber. 웹 동기화의 경우 이 옵션을 사용해야 합니다.You must use this option with Web synchronization.

다운로드 전용 아티클을 사용하면 게시에 있는 개별 아티클의 동기화 동작을 제어할 수 있으며 성능도 향상됩니다.Download-only articles enable you to control the synchronization behavior of individual articles in a publication, and they can provide a performance benefit. 자세한 내용은 다운로드 전용 아티클로 병합 복제 성능 최적화를 참조하세요.For more information, see Optimize Merge Replication Performance with Download-Only Articles.

ExchangeType 을 사용하여 병합 복제의 업로드 및 다운로드 단계를 별도의 세션으로 분리하는 경우 ExchangeType 을 먼저 1로 설정한 상태로 병합 에이전트를 실행한 후 값을 2로 설정하여 병합 에이전트를 다시 실행해야 합니다.If using ExchangeType to separate the upload and download phase of merge replication into separate sessions, you must run the merge agent with ExchangeType set to 1 first and then run the merge agent again with the value 2. 두 매개 변수를 사용하여 병합 에이전트를 실행하는 데 실패하면 메타데이터가 삭제되고 구독을 다시 초기화해야 합니다(업로드 제외).Failure to run the merge agent with both parameters will cause metadata to be deleted and require you to reinitialize the subscription (without upload).

-FastRowCount [0|1]-FastRowCount [0|1]
행 개수 유효성 검사에 사용할 행 개수 계산 방법의 유형을 지정합니다.Specifies what type of rowcount calculation method should be used for rowcount validation. 1 (기본값)은 빠른 행 개수 계산 방법을 나타냅니다.A value of 1 (default) indicates the fast method. 0 은 전체 행 개수 계산 방법을 나타냅니다.A value of 0 indicates the full rowcount method.

-FileTransferType [0|1]-FileTransferType [0|1]
파일 전송 유형을 지정합니다.Specifies the file transfer type. 0 은 UNC(Universal Naming Convention)를 나타내고, 값 1 은 FTP(File Transfer Protocol)를 나타냅니다.A value of 0 indicates UNC (universal naming convention), and a value of 1 indicates FTP (file transfer protocol).

-ForceConvergenceLevel [0|1|2 ( Publisher| Subscriber| Both)]-ForceConvergenceLevel [0|1|2 ( Publisher| Subscriber| Both)]
병합 에이전트에서 사용할 일치성 수준을 지정하며 값은 다음 중 하나가 될 수 있습니다.Specifies the level of convergence the Merge Agent should use, and can be one of the following:

ForceConvergenceLevel 값ForceConvergenceLevel value 설명Description
0 (기본값)0 (default) 기본.Default. 추가 일치 작업 없이 표준 병합을 수행합니다.Perform a standard merge without additional convergence.
11 모든 세대에 대해 일치 작업을 수행합니다.Force convergence for all generations.
22 모든 세대에 대해 일치 작업을 수행하고 손상된 계보를 수정합니다.Force convergence for all generations and correct corrupt lineages. 이 값을 지정할 경우 계보를 수정할 위치를 게시자, 구독자 또는 게시자와 구독자 모두로 지정합니다.When specifying this value, specify where lineages should be corrected: the Publisher, the Subscriber, or both the Publisher and the Subscriber.

-FtpAddress ftp_address-FtpAddress ftp_address
배포자용 FTP 서비스의 네트워크 주소입니다.Is the network address of the FTP service for the Distributor. 지정되지 않은 경우, Distributor 가 사용됩니다.When not specified, Distributor is used.

-FtpPassword ftp_password-FtpPassword ftp_password
FTP 서비스에 연결할 때 사용되는 사용자 암호입니다.Is the user password used to connect to the FTP service.

-FtpPort ftp_port-FtpPort ftp_port
배포자용 FTP 서비스의 포트 번호입니다.Is the port number of the FTP service for the Distributor. 지정되지 않은 경우, FTP 서비스용 기본 포트 번호(21)가 사용됩니다.When not specified, the default port number for FTP service (21) is used.

-FtpUserName ftp_user_name-FtpUserName ftp_user_name
FTP 서비스에 연결할 때 사용할 사용자 이름입니다.Is the user name used to connect to the FTP service. 지정되지 않은 경우, anonymous가 사용됩니다.When not specified, anonymous is used.

-HistoryVerboseLevel [1|2|3]-HistoryVerboseLevel [1|2|3]
병합 작업을 수행하는 동안 기록에 추가되는 양을 지정합니다.Specifies the amount of history logged during a merge operation. 1을 선택하여 성능에서 기록 로깅의 영향을 최소화할 수 있습니다.You can minimize the effect of history logging on performance by selecting 1.

HistoryVerboseLevel 값HistoryVerboseLevel value 설명Description
00 최종 에이전트 상태 메시지, 최종 세션 정보 및 기타 오류를 기록합니다.Log the final agent status message, final session details, and any errors.
11 각 세션 상태의 증분 세션 정보를 기록합니다. 여기에는 최종 에이전트 상태 메시지, 최종 세션 정보 및 오류뿐 아니라 완료율도 포함됩니다.Log incremental session details at each session status, including percent complete, in addition to the final agent status message, final session details, and any errors.
22 기본.Default. 각 세션 상태의 증분 세션 정보와 아티클 수준 세션 정보를 기록합니다. 여기에는 최종 에이전트 상태 메시지, 최종 세션 정보 및 오류뿐 아니라 완료율도 포함됩니다.Log both incremental session details at each session status and article level session details, including percent complete, in addition to the final agent status message, final session details, and any errors. 에이전트 상태 메시지도 기록됩니다.Agent status messages are also logged.
33 기록되는 에이전트 진행 메시지가 더 많다는 점만 제외하고 -HistoryVerboseLevel = 2와 동일합니다.The same as -HistoryVerboseLevel = 2, except that more agent progress messages are logged.

-Hostname host_name-Hostname host_name
로컬 컴퓨터의 네트워크 이름입니다.Is the network name of the local computer. 기본값은 로컬 컴퓨터 이름입니다.The default is the local computer name.

-InteractiveResolution [0|1]-InteractiveResolution [0|1]
동기화를 수행하는 동안 충돌이 발생할 경우 대화형 충돌 해결을 사용할지 여부를 지정합니다.Specifies whether interactive conflict resolution is used when a conflict occurs during synchronization. 기본값은 0으로, 대화형 충돌 해결을 사용하지 않음을 나타냅니다.The default is 0, indicating that interactive conflict resolution is not used.

-InternetLogin internet_login-InternetLogin internet_login
인증이 필요한 SQL ServerSQL Server 복제 수신기 ISAPI DLL에 연결할 때 사용되는 로그인 이름을 지정합니다.Specifies the login name used when connecting to a SQL ServerSQL Server replication listener ISAPI DLL that requires authentication.

-InternetPassword internet_password-InternetPassword internet_password
인증이 필요한 SQL ServerSQL Server 복제 수신기 ISAPI DLL에 연결할 때 사용되는 암호를 지정합니다.Specifies the password used when connecting to a SQL ServerSQL Server replication listener ISAPI DLL that requires authentication.

-InternetProxyLogin internet_proxy_login-InternetProxyLogin internet_proxy_login
인증이 필요한 프록시 서버( internet_proxy_server에 정의됨)에 연결할 때 사용되는 로그인 이름을 지정합니다.Specifies the login name used when connecting to a proxy server, defined in internet_proxy_server, that requires authentication.

–InternetProxyPassword internet_proxy_password–InternetProxyPassword internet_proxy_password
인증이 필요한 프록시 서버( internet_proxy_server에 정의됨)에 연결할 때 사용되는 암호를 지정합니다.Specifies the password used when connecting to a proxy server, defined in internet_proxy_server, that requires authentication.

-InternetProxyServer internet_proxy_server-InternetProxyServer internet_proxy_server
internet_url에 지정된 HTTP 리소스에 액세스할 때 사용할 프록시 서버를 지정합니다.Specifies the proxy server to use when accessing the HTTP resource specified in internet_url.

-InternetSecurityMode [0|1]-InternetSecurityMode [0|1]
웹 동기화를 수행하는 동안 웹 서버에 연결할 때 사용할 IIS 보안 모드를 지정합니다.Specifies the IIS security mode used when connecting to the Web server during Web synchronization. 0 은 기본 인증을 나타내고, 값 1 은 Windows 통합 인증(기본값)을 나타냅니다.A value of 0 indicates Basic Authentication, and a value of 1 indicates Windows Integrated Authentication (default).

-InternetTimeout internet_timeout-InternetTimeout internet_timeout
SQL ServerSQL Server 복제 수신기 ISAPI DLL에 대한 연결 제한 시간이 초과되기까지의 시간(초)을 지정합니다.Is the number of seconds before a connection to the to the SQL ServerSQL Server replication listener ISAPI DLL times out.

-InternetURL internet_url-InternetURL internet_url
SQL ServerSQL Server 복제 수신기 ISAPI DLL에 연결하는 데 사용되는 URL을 지정합니다.Specifies the URL used to connect to the SQL ServerSQL Server replication listener ISAPI DLL. 이 속성은 반드시 지정해야 합니다.This property must be specified.

-KeepAliveMessageInterval keep_alive_message_interval_seconds-KeepAliveMessageInterval keep_alive_message_interval_seconds
기록 스레드가 기존 연결에서 서버의 응답을 기다리고 있는지 확인할 때까지 걸리는 시간(초)입니다.Is the number of seconds before the history thread checks if any of the existing connections is waiting for a response from the server. 이 값을 줄이면 장기 실행 일괄 처리를 실행할 때 점검 에이전트에서 병합 에이전트를 주의 대상으로 표시하지 않도록 할 수 있습니다.This value can be decreased to avoid having the checkup agent mark the Merge Agent as suspect when executing a long-running batch. 기본값은 300 초입니다.The default is 300 seconds.

-LoginTimeOut login_time_out_seconds-LoginTimeOut login_time_out_seconds
로그인 시간이 초과될 때까지 걸리는 시간(초)입니다.Is the number of seconds before the login times out. 기본값은 15 초입니다.The default is 15 seconds.

-MakeGenerationInterval make_generation_interval_seconds-MakeGenerationInterval make_generation_interval_seconds
생성 만들기 또는 클라이언트에 다운로드할 변경 내용의 일괄 처리 간에 대기하는 시간(초)입니다.Is the number of seconds to wait between creating generations, or batches of changes, to download to the client. 기본값은 1 초입니다.The default is 1 second.

makegeneration은 게시자 변경 내용을 구독자로 다운로드하기 위해 준비하는 프로세스로, 다운로드하는 동안 성능 병목 상태를 일으킬 수 있습니다.Makegeneration is the process that prepares Publisher changes to be downloaded to Subscribers, and it can be a performance bottleneck during downloads. makegeneration 프로세스는 -MakeGenerationInterval에 지정된 간격 내에서 이미 실행된 경우 현재 동기화 세션에서 생략됩니다.If the makegeneration process already ran within the interval specified by -MakeGenerationInterval, the process is skipped for the current synchronization session. 이는 동기화 동시성에 도움이 되며, 구독자가 변경 내용을 다운로드하지 않으려는 경우 특히 유용합니다.This can benefit synchronization concurrency and is especially helpful if Subscribers do not expect to download changes.

-MaxBcpThreads number_of_threads-MaxBcpThreads number_of_threads
병렬로 수행할 수 있는 대량 복사 작업 수를 지정합니다.Specifies the number of bulk copy operations that can be performed in parallel. 동시에 존재하는 스레드 및 ODBC 연결의 최대 개수는 MaxBcpThreads 와 게시 데이터베이스의 시스템 테이블 sysmergeschemachange 에 나타나는 대량 복사 요청 수 중 더 작은 값입니다.The maximum number of threads and ODBC connections that exist simultaneously is the lesser of MaxBcpThreads or the number of bulk copy requests that appear in the system table sysmergeschemachange in the publication database. MaxBcpThreads 값은 0보다 크고 하드 코딩된 상한값이 없어야 합니다.MaxBcpThreads must have a value greater than 0 and has no hard-coded upper limit. 기본값은 1입니다.The default is 1.

-MaxDownloadChanges number_of_download_changes-MaxDownloadChanges number_of_download_changes
게시자에서 구독자로 다운로드할 변경된 행의 최대 개수를 지정합니다.Specifies the maximum number of changed rows that should be downloaded from the Publisher to the Subscriber. 다운로드되는 행 수가 지정된 최대값보다 클 수도 있습니다. 전체 세대가 처리되는 경우나, 병렬 대상 스레드가 실행될 수 있고 각 스레드가 첫 번째 전달에서 100개 이상의 변경 내용을 처리하는 경우가 이러한 경우에 해당됩니다.The number of rows downloaded may be higher than the specified maximum because: complete generations are processed; and parallel destination threads may run, each of which processes at least 100 changes in its first pass. 기본적으로 다운로드할 수 있는 모든 변경 내용이 보내집니다.By default all changes that are ready to be downloaded are sent.

-MaxUploadChanges number_of_upload_changes-MaxUploadChanges number_of_upload_changes
구독자에서 게시자로 업로드할 변경된 행의 최대 개수를 지정합니다.Specifies the maximum number of changed rows that should be uploaded from the Subscriber to the Publisher. 업로드되는 행 수가 지정된 최대값보다 클 수도 있습니다. 전체 세대가 처리되는 경우나, 병렬 대상 스레드가 실행될 수 있고 각 스레드가 첫 번째 전달에서 100개 이상의 변경 내용을 처리하는 경우가 이러한 경우에 해당됩니다.The number of rows uploaded may be higher than the specified maximum because: complete generations are processed; and parallel destination threads may run, each of which processes at least 100 changes in its first pass. 기본적으로 업로드할 수 있는 모든 변경 내용이 보내집니다.By default all changes that are ready to be uploaded are sent.

-MetadataRetentionCleanup [0|1]-MetadataRetentionCleanup [0|1]
게시 보존 기간에 따라 MSmerge_genhistory, MSmerge_contents, MSmerge_tombstone, MSmerge_past_partition_mappingsMSmerge_current_partition_mappings 에서 메타데이터를 제거할지 여부를 지정합니다.Specifies if metadata is removed from MSmerge_genhistory, MSmerge_contents, MSmerge_tombstone, MSmerge_past_partition_mappings, and MSmerge_current_partition_mappings based on the publication retention period. 기본값은 1로서, 정리를 수행함을 나타냅니다.The default is 1, indicating that cleanup should occur. 0 은 정리를 자동으로 수행하지 않음을 나타냅니다.A value of 0 indicates that cleanup should not occur automatically.

-Output output_path_and_file_name-Output output_path_and_file_name
에이전트 출력 파일의 경로입니다.Is the path of the agent output file. 파일 이름을 지정하지 않으면 출력이 콘솔로 전달됩니다.If the file name is not provided, the output is sent to the console. 지정된 파일 이름이 존재하면 출력이 파일에 추가됩니다.If the specified file name exists, the output is appended to the file.

-OutputVerboseLevel [0|1|2]-OutputVerboseLevel [0|1|2]
출력이 자세해야 하는지 여부를 지정합니다.Specifies whether the output should be verbose. 정보 표시 수준이 0이면 오류 메시지만 출력됩니다.If the verbose level is 0, only error messages are printed. 정보 표시 수준이 1이면 모든 진행률 보고 메시지가 출력됩니다.If the verbose level is 1, all of the progress report messages are printed. 정보 표시 수준이 2 (기본값)이면 디버깅에 유용한 오류 메시지와 진행률 보고 메시지가 모두 출력됩니다.If the verbose level is 2 (default), all error messages and progress report messages are printed, which is useful for debugging.

-ParallelUploadDownload [0|1]-ParallelUploadDownload [0|1]
병합 에이전트에서 게시자에 업로드되는 변경 내용과 구독자에 다운로드되는 변경 내용을 병렬로 처리할지 여부를 지정합니다. 병렬 처리는 네트워크 대역폭이 높은 대규모 환경에서 유용합니다.Specifies whether the Merge Agent should process in parallel the changes uploaded to the Publisher and those downloaded to the Subscriber, which is useful in high volume environments with high network bandwidth. ParallelUploadDownload1이면 병렬 처리가 사용됩니다.If ParallelUploadDownload is 1, then parallel processing is enabled.

-PacketSize-PacketSize
패킷 크기(바이트)입니다.Is the packet size, in bytes. 기본값은 4096바이트입니다.The default is 4096 (bytes).

-PollingInterval polling_interval-PollingInterval polling_interval
게시자 또는 구독자에서 데이터 변경 내용을 쿼리하는 빈도(초)입니다.Is how often, in seconds, the Publisher or Subscriber is queried for data changes. 기본값은 60초입니다.The default is 60 seconds.

-ProfileName profile_name-ProfileName profile_name
에이전트 매개 변수에 사용할 에이전트 프로필을 지정합니다.Specifies an agent profile to use for agent parameters. ProfileName 이 NULL이면 에이전트 프로필이 사용되지 않습니다.If ProfileName is NULL, the agent profile is disabled. ProfileName 이 지정되지 않으면 에이전트 유형에 대한 기본 프로필이 사용됩니다.If ProfileName is not specified, the default profile for the agent type is used. 자세한 내용은 복제 에이전트 프로필을 참조하세요.For information, see Replication Agent Profiles.

-PublisherFailoverPartner server_name[\instance_name]-PublisherFailoverPartner server_name[\instance_name]
게시 데이터베이스와 함께 데이터베이스 미러링 세션에 참여하는 SQL ServerSQL Server 의 장애 조치 파트너 인스턴스를 지정합니다.Specifies the failover partner instance of SQL ServerSQL Server participating in a database mirroring session with the publication database. 자세한 내용은 데이터베이스 미러링 및 복제(SQL Server)를 참조하세요.For more information, see Database Mirroring and Replication (SQL Server).

-PublisherLogin publisher_login-PublisherLogin publisher_login
게시자 로그인 이름입니다.Is the Publisher login name. PublisherSecurityMode0 ( SQL ServerSQL Server 인증의 경우)이면 이 매개 변수를 지정해야 합니다.If PublisherSecurityMode is 0 (for SQL ServerSQL Server Authentication), this parameter must be specified.

-PublisherPassword publisher_password-PublisherPassword publisher_password
게시자 암호입니다.Is the Publisher password. PublisherSecurityMode0 ( SQL ServerSQL Server 인증의 경우)이면 이 매개 변수를 지정해야 합니다.If PublisherSecurityMode is 0 (for SQL ServerSQL Server Authentication), this parameter must be specified.

-PublisherSecurityMode [0|1]-PublisherSecurityMode [0|1]
게시자의 보안 모드를 지정합니다.Specifies the security mode of the Publisher. 0SQL ServerSQL Server 인증(기본값)을 나타내며 값 1 은 Windows 인증 모드를 나타냅니다.A value of 0 indicates SQL ServerSQL Server Authentication (default), and a value of 1 indicates Windows Authentication Mode.

-QueryTimeOut query_time_out_seconds-QueryTimeOut query_time_out_seconds
쿼리 시간이 초과될 때까지 걸리는 시간(초)입니다.Is the number of seconds before the query times out. 기본값은 300초입니다.The default is 300 seconds. QueryTimeout 값이 1800보다 클 경우 병합 에이전트에서는 이 값을 사용하여 분할된 스냅숏이 생성되기를 기다릴 시간을 결정하기도 합니다.The Merge Agent also uses the value of QueryTimeout to determine how long to wait for generation of a partitioned snapshot when this value is greater than 1800.

-SrcThreads number_of_source_threads-SrcThreads number_of_source_threads
병합 에이전트에서 원본의 변경 내용을 열거하는 데 사용하는 원본 스레드의 개수를 지정합니다.Specifies the number of source threads that the Merge Agent uses to enumerate changes from the source. 업로드 중에는 구독자가 원본이 되고 다운로드 중에는 게시자가 원본이 됩니다.The source is the Subscriber during upload and the Publisher during download. 기본값은 3입니다.The default is 3.

-StartQueueTimeout start_queue_timeout_seconds-StartQueueTimeout start_queue_timeout_seconds
동시에 실행 중인 병합 프로세스의 수가 @max_concurrent_merge@max_concurrent_merge을 참조하세요.Is the maximum number of seconds that the Merge Agent waits when the number of concurrent merge processes running is at the limit set by the @max_concurrent_merge property of sp_addmergepublication. 최대 시간(초)에 도달한 경우 병합 에이전트가 계속 대기 중이면 해당 병합 에이전트가 종료됩니다.If the maximum number of seconds is reached and the Merge Agent is still waiting, it will exit. 값 0은 에이전트가 취소될 경우에도 무기한 대기함을 의미합니다.A value of 0 means that the agent waits indefinitely, although it can be cancelled.

-SubscriberDatabasePath subscriber_database_path-SubscriberDatabasePath subscriber_database_path
SubscriberType2 로서, ODBC DSN(데이터 원본 이름)이 없는 Jet 데이터베이스에 대한 연결이 허용되는 경우 Jet 데이터베이스(.mdb 파일)의 경로입니다.Is the path to the Jet database (.mdb file) if SubscriberType is 2 (allows a connection to a Jet database without an ODBC Data Source Name (DSN)).

-SubscriberDBAddOption [0| 1| 2| 3]-SubscriberDBAddOption [0| 1| 2| 3]
기존 구독자 데이터베이스가 있는지 여부를 지정합니다.Specifies whether there is an existing Subscriber database.

SubscriberDBAddOption 값SubscriberDBAddOption value 설명Description
00 기존 데이터베이스를 사용합니다(기본값).Use the existing database (default).
11 비어 있는 새 구독자 데이터베이스를 만듭니다.Create a new, empty Subscriber database.
22 새 데이터베이스를 만들어 지정된 파일에 연결합니다.Create a new database and attach it to the specified file.
33 새 데이터베이스를 만들어 연결하고 해당 파일에 있을 수 있는 모든 구독을 사용하도록 설정합니다.Create a new database, attach the database, and enable all subscriptions that might exist at the file.

참고

23을 사용할 경우에는 SubscriberDatabasePath 옵션에서 구독자의 데이터베이스 경로를 지정해야 합니다.When you use values 2 and 3, the database path for the Subscriber must be specified in the SubscriberDatabasePath option.

-SubscriberLogin subscriber_login-SubscriberLogin subscriber_login
구독자의 로그인 이름입니다.Is the Subscriber login name. SubscriberSecurityMode0 ( SQL ServerSQL Server 인증의 경우)이면 이 매개 변수를 지정해야 합니다.If SubscriberSecurityMode is 0 (for SQL ServerSQL Server Authentication), this parameter must be specified.

-SubscriberPassword subscriber_password-SubscriberPassword subscriber_password
구독자 암호입니다.Is the Subscriber password. SubscriberSecurityMode0 ( SQL ServerSQL Server 인증의 경우)이면 이 매개 변수를 지정해야 합니다.If SubscriberSecurityMode is 0 (for SQL ServerSQL Server Authentication), this parameter must be specified.

-SubscriberSecurityMode [ 0| 1]-SubscriberSecurityMode [ 0| 1]
구독자의 보안 모드를 지정합니다.Specifies the security mode of the Subscriber. 0SQL ServerSQL Server 인증(기본값)을 나타내며 값 1 은 Windows 인증 모드를 나타냅니다.A value of 0 indicates SQL ServerSQL Server Authentication (default), and a value of 1 indicates Windows Authentication Mode.

-SubscriberConflictClean [ 0| 1]-SubscriberConflictClean [ 0| 1]
동기화 프로세스를 수행하는 동안 구독자에서 충돌 테이블을 정리할지 여부를 나타냅니다. 값 1 은 구독자의 충돌 테이블이 정리됨을 나타냅니다.Is if conflict tables are cleaned-up at the Subscriber during the synchronization process, where a value of 1 indicates that conflict tables at the Subscriber are cleaned-up. 이 매개 변수는 분산 충돌 로깅을 사용하는 게시자에 대한 구독에만 사용됩니다.This parameter is used only for subscriptions to publications with decentralized conflict logging.

-SubscriberType [ 0| 1| 3| 4| 5| 6| 7| 8]-SubscriberType [ 0| 1| 3| 4| 5| 6| 7| 8]
병합 에이전트에서 사용하는 구독자 연결 유형을 지정합니다.Specifies the type of Subscriber connection used by the Merge Agent. 이 매개 변수에는 기본값 0 만 지원됩니다.Only the default value of 0 is supported for this parameter.

-SubscriptionType[ 0| 1| 2]-SubscriptionType[ 0| 1| 2]
배포의 구독 유형을 지정합니다.Specifies the subscription type for distribution. 0 은 밀어넣기 구독(기본값)을, 값 1 은 끌어오기 구독을, 값 2 는 익명 구독을 나타냅니다.A value of 0 indicates a push subscription (default), a value of 1 indicates a pull subscription, and a value of 2 indicates an anonymous subscription.

-SyncToAlternate [ 0|1]-SyncToAlternate [ 0|1]
병합 에이전트에서 구독자와 대체 게시자 간의 동기화를 수행하는지 여부를 지정합니다.Specifies whether the Merge Agent is synchronizing between a Subscriber and an alternate Publisher. 1 은 동기화 대상이 대체 게시자임을 나타냅니다.A value of 1 indicates that it is an alternate Publisher. 기본값은 0입니다.The default is 0.

-UploadGenerationsPerBatch upload_generations_per_batch-UploadGenerationsPerBatch upload_generations_per_batch
구독자의 변경 내용을 게시자로 업로드하는 동안 한 번의 일괄 처리에서 처리할 세대 수입니다.Is the number of generations to be processed in a single batch while uploading changes from the Subscriber to the Publisher. 세대는 아티클 단위의 논리적 변경 내용 그룹으로 정의됩니다.A generation is defined as a logical group of changes per article. 안정적인 통신 연결의 기본값은 100이고,The default for a reliable communication link is 100. 안정적이지 않은 통신 연결의 기본값은 1입니다.The default for an unreliable communication link is 1.

-UploadReadChangesPerBatch upload_read_changes_per_batch-UploadReadChangesPerBatch upload_read_changes_per_batch
구독자의 변경 내용을 게시자로 업로드하는 동안 한 번의 일괄 처리에서 읽을 변경 내용 수입니다.Is the number of changes to be read in a single batch while uploading changes from the Subscriber to the Publisher. 기본값은 100입니다.The default is 100.

-UploadWriteChangesPerBatch upload_write_changes_per_batch-UploadWriteChangesPerBatch upload_write_changes_per_batch
구독자의 변경 내용을 게시자로 업로드하는 동안 한 번의 일괄 처리에서 적용할 변경 내용 수입니다.Is the number of changes to be applied in a single batch while uploading changes from the Subscriber to the Publisher. 기본값은 100입니다.The default is 100.

-UseInprocLoader-UseInprocLoader
병합 에이전트에서 구독자에 스냅숏 파일을 적용할 때 BULK INSERT 명령을 사용하도록 지정하여 초기 스냅숏의 성능을 향상시킵니다.Improves the performance of the initial snapshot by causing the Merge Agent to use the BULK INSERT command when applying snapshot files to the Subscriber. 이 매개 변수는 XML 데이터 형식과 호환되지 않으므로 이후에는 지원되지 않습니다.This parameter is deprecated because it is not compatible with the XML data type. XML 데이터를 복제하지 않을 계획이라면 이 매개 변수를 사용할 수 있습니다.If you are not replicating XML data, this parameter can be used. 이 매개 변수는 문자 모드 스냅숏과 함께 사용할 수 없습니다.This parameter cannot be used with character mode snapshots. 이 매개 변수를 사용하려면 구독자의 SQL ServerSQL Server 서비스 계정에 스냅숏 .bcp 데이터 파일이 있는 디렉터리에 대한 읽기 권한이 있어야 합니다.If you use this parameter, the SQL ServerSQL Server service account at the Subscriber must have read permissions on the directory where the snapshot .bcp data files are located. 이 매개 변수를 사용하지 않으면 에이전트에서 로드한 ODBC 드라이버가 파일 내용을 읽으므로 SQL ServerSQL Server 서비스 계정의 보안 컨텍스트가 사용되지 않습니다.When this parameter is not used, the ODBC driver loaded by the agent reads from the files, so the security context of the SQL ServerSQL Server service account is not used.

-Validate [0|1|2|3]-Validate [0|1|2|3]
병합 세션이 종료될 때 유효성 검사를 수행할지 여부와 수행할 유효성 검사 유형을 지정합니다.Specifies whether validation should be done at the end of the merge session, and, if so, what type of validation. 3 이 권장 값입니다.The value of 3 is the recommended value.

값 유효성 검사Validate value 설명Description
0 (기본값)0 (default) 유효성 검사를 수행하지 않습니다.No validation.
11 행 개수의 유효성만 검사합니다.Rowcount-only validation.
22 행 개수 및 체크섬의 유효성을 검사합니다.Rowcount and checksum validation.
33 행 개수 및 이진 체크섬의 유효성을 검사합니다.Rowcount and binary checksum validation.

참고

구독자에서의 데이터 형식과 게시자에서의 데이터 형식이 다른 경우 이진 체크섬 또는 체크섬 유효성 검사가 올바르지 않을 수 있습니다.Validation by using binary checksum or checksum can incorrectly report a failure if data types are different at the Subscriber than they are at the Publisher. 자세한 내용은 복제된 데이터의 유효성 검사의 "데이터 유효성 검사에 대한 고려 사항" 섹션을 참조하세요.For more information, see the section "Considerations for Data Validation" in Validate Replicated Data.

-ValidateInterval validate_interval-ValidateInterval validate_interval
연속 모드에서 구독 유효성 검사가 수행되는 빈도(분)입니다.Is how often, in minutes, the subscription is validated in continuous mode. 기본값은 60 분입니다.The default is 60 minutes.

주의Remarks

중요

도메인 사용자 계정(기본값)이 아닌 로컬 시스템 계정에서 실행되도록 SQL ServerSQL Server 에이전트를 설치한 경우 해당 서비스에서는 로컬 컴퓨터에만 액세스할 수 있습니다.If you have installed SQL ServerSQL Server Agent to run under a local system account rather than under a domain user account (the default), the service can access only the local computer. SQL ServerSQL Server 에이전트에서 실행되는 병합 에이전트가 SQL ServerSQL Server에 로그인할 때 Windows 인증 모드를 사용하도록 구성된 경우 해당 병합 에이전트가 실패합니다.If the Merge Agent that runs under SQL ServerSQL Server Agent is configured to use Windows Authentication Mode when it logs in to SQL ServerSQL Server, the Merge Agent fails. 기본 설정은 SQL ServerSQL Server 인증입니다.The default setting is SQL ServerSQL Server Authentication.

병합 에이전트를 시작하려면 명령 프롬프트에서 replmerg.exe 를 실행합니다.To start the Merge Agent, execute replmerg.exe from the command prompt. 자세한 내용은 복제 에이전트 실행 파일을 참조하십시오.For information, see Replication Agent Executables.

연속 모드에서 실행하는 동안 현재 세션에 대한 병합 에이전트 기록은 제거되지 않습니다.The merge agent history for the current session is not removed while running in continuous mode. 장기 실행 에이전트로 인해 성능에 영향을 미칠 수 있는 병합 기록 테이블에 다수의 항목이 발생할 수 있습니다.A long running agent can result in a large number of entries in the merge history tables which could impact performance. 이 문제를 해결하려면 예약 모드로 전환하거나, 계속해서 연속 모드를 사용하지만 정기적으로 병합 에이전트를 다시 시작하는 전용 작업을 만들거나, 기록 수준의 자세한 정도를 줄여 행 수를 줄임으로써 성능에 미치는 영향을 줄이십시오.To resolve this problem switch to scheduled mode, or continue to use continuous mode but create a dedicated job to periodically restart the merge agent, or reduce the verbosity of the history level to reduce the number of rows and therefor reduce the performance impact.

관련 항목:See Also

복제 에이전트 관리Replication Agent Administration