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

복제 로그 판독기 에이전트는 트랜잭션 복제를 위해 구성한 각 데이터베이스의 트랜잭션 로그를 모니터링하고 트랜잭션 로그에서 복제 대상으로 표시된 트랜잭션을 배포 데이터베이스에 복사하는 실행 파일입니다.The Replication Log Reader Agent is an executable that monitors the transaction log of each database configured for transactional replication and copies the transactions marked for replication from the transaction log into the distribution database.

참고

매개 변수는 지정되는 순서에 제한을 받지 않습니다.Parameters can be specified in any order. 선택적 매개 변수가 지정되지 않은 경우 기본 에이전트 프로필을 기반으로 하여 미리 정의된 값이 사용됩니다.When optional parameters are not specified, predefined values based on the default agent profile are used.

구문Syntax


logread [-?]   
-Publisher server_name[\instance_name]   
-PublisherDB publisher_database   
[-Continuous]  
[-DefinitionFile def_path_and_file_name]  
[-Distributor server_name[\instance_name]]  
[-DistributorLogin distributor_login]  
[-DistributorPassword distributor_password]  
[-DistributorSecurityMode [0|1]]  
[-EncryptionLevel [0|1|2]]  
[-ExtendedEventConfigFile configuration_path_and_file_name]  
[-HistoryVerboseLevel [0|1|2]]  
[-KeepAliveMessageInterval keep_alive_message_interval_seconds]  
[-LoginTimeOut login_time_out_seconds]  
[-LogScanThreshold scan_threshold]  
[-MaxCmdsInTran number_of_commands]  
[-MessageInterval message_interval]  
[-Output output_path_and_file_name]  
[-OutputVerboseLevel [0|1|2|3|4]]  
[-PacketSize packet_size]  
[-PollingInterval polling_interval]  
[-ProfileName profile_name]   
[-PublisherFailoverPartner server_name[\instance_name] ]  
[-PublisherSecurityMode [0|1]]  
[-PublisherLogin publisher_login]  
[-PublisherPassword publisher_password]   
[-QueryTimeOut query_time_out_seconds]  
[-ReadBatchSize number_of_transactions]   
[-ReadBatchThreshold read_batch_threshold]  
[-RecoverFromDataErrors]  

인수Arguments

-?-?
사용법 정보를 표시합니다.Displays usage information.

-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.

-Continuous-Continuous
에이전트에서 복제된 트랜잭션의 폴링을 계속 시도할지 여부를 지정합니다.Specifies whether the agent tries 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.

-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-line arguments for the agent. 파일 내용은 실행 파일로 구문 분석됩니다.The content of the file is parsed as an executable file. 임의 문자가 있는 인수 값을 지정하려면 큰따옴표(")를 사용합니다.Use double quotation marks (") to specify argument values that contain 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.

-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 인증 모드(기본값)를 나타내며 값 1MicrosoftMicrosoft Windows 인증 모드를 나타냅니다.A value of 0 indicates SQL ServerSQL Server Authentication Mode (default), and a value of 1 indicates MicrosoftMicrosoft Windows Authentication Mode.

-EncryptionLevel [ 0 | 1 | 2 ]-EncryptionLevel [ 0 | 1 | 2 ]
연결을 만들 때 로그 판독기 에이전트에서 사용하는 SSL(Secure Sockets Layer) 암호화의 수준입니다.Is the level of Secure Sockets Layer (SSL) encryption that is used by the Log Reader 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).

-ExtendedEventConfigFile configuration_path_and_file_name-ExtendedEventConfigFile configuration_path_and_file_name
확장 이벤트 XML 구성 파일의 경로 및 파일 이름을 지정합니다.Specifies the path and file name for the extended events XML configuration file. 확장 이벤트 구성 파일에서는 세션을 구성하고 추적 이벤트를 사용하도록 설정할 수 있습니다.The extended events configuration file allows you to configure sessions and enable events for tracking.

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

HistoryVerboseLevel 값HistoryVerboseLevel value 설명Description
00
11 기본.Default. 시작, 진행, 성공 등과 같이 상태가 동일한 이전 기록 메시지를 항상 업데이트합니다.Always update a previous history message of the same status (startup, progress, success, and so on). 상태가 같은 이전 레코드가 없으면 새 레코드를 삽입합니다.If no previous record with the same status exists, insert a new record.
22 유휴 메시지나 장기 실행 작업 메시지에 대한 레코드가 없으면 새 기록 레코드를 삽입합니다. 이 경우 이전 레코드를 업데이트합니다.Insert new history records unless the record is for such things as idle messages or long-running job messages, in which case update the previous records.

-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 Log Reader 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
로그인 시간이 초과될 때까지 걸리는 시간(초)입니다. 기본값은 15초입니다.Is the number of seconds before the login times out. The default is 15 seconds.

-LogScanThreshold scan_threshold-LogScanThreshold scan_threshold
내부적으로만 사용됩니다.Internal use only.

-MaxCmdsInTran number_of_commands-MaxCmdsInTran number_of_commands
로그 판독기가 배포 데이터베이스에 명령을 쓸 때 하나의 트랜잭션으로 그룹화되는 문의 최대 개수를 지정합니다.Specifies the maximum number of statements grouped into a transaction as the Log Reader writes commands to the distribution database. 이 매개 변수를 사용하면 로그 판독기 에이전트와 배포 에이전트가 게시자에서 여러 명령으로 구성된 큰 트랜잭션을 구독자에 적용할 때 여러 개의 작은 트랜잭션으로 나눌 수 있습니다.Using this parameter allows the Log Reader Agent and Distribution Agent to divide large transactions (consisting of many commands) at the Publisher into several smaller transactions when applied at the Subscriber. 이 매개 변수를 지정하면 배포자에서 경합을 줄일 수 있고 게시자와 구독자 간 대기 시간을 줄일 수 있습니다.Specifying this parameter can reduce contention at the Distributor and reduce latency between the Publisher and Subscriber. 원래 트랜잭션이 작은 단위로 적용되므로 구독자는 엄격한 트랜잭션 원자성을 깨고 원래 트랜잭션이 끝나기 전에 큰 논리적 게시자 트랜잭션의 행에 액세스할 수 있습니다.Because the original transaction is applied in smaller units, the Subscriber can access rows of a large logical Publisher transaction prior to the end of the original transaction, breaking strict transactional atomicity. 기본값은 0으로 게시자의 트랜잭션 경계를 유지합니다.The default is 0, which preserves the transaction boundaries of the Publisher.

참고

이 매개 변수는 SQL ServerSQL Server 이외의 게시에 대해서는 무시됩니다.This parameter is ignored for non- SQL ServerSQL Server publications. 자세한 내용은 Performance Tuning for Oracle Publishers의 "트랜잭션 세트 작업 구성" 섹션을 참조하십시오.For more information, see the section "Configuring the Transaction Set Job" in Performance Tuning for Oracle Publishers.

-MessageInterval message_interval-MessageInterval message_interval
기록 로깅에 사용되는 시간 간격입니다.Is the time interval used for history logging. 기록 이벤트는 마지막 기록 이벤트가 기록된 후 MessageInterval 값에 도달할 때 기록됩니다.A history event is logged when the MessageInterval value is reached after the last history event is logged.

원본에 사용할 수 있는 복제된 트랜잭션이 없는 경우 에이전트에서는 배포자에 트랜잭션 없음 메시지를 보고합니다.If there is no replicated transaction available at the source, the agent reports a no-transaction message to the Distributor. 이 옵션은 다른 트랜잭션 없음 메시지를 보고하기 전에 에이전트에서 기다리는 시간을 지정합니다.This option specifies how long the agent waits before reporting another no-transaction message. 에이전트에서는 이전에 복제된 트랜잭션을 처리한 후 원본에 사용할 수 있는 트랜잭션이 없는지 감지할 때 항상 트랜잭션 없음 메시지를 보고합니다.Agents always report a no-transaction message when they detect that there are no transactions available at the source after previously processing replicated transactions. 기본값은 60초입니다.The default is 60 seconds.

-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 | 3 | 4 ]-OutputVerboseLevel [ 0| 1| 2 | 3 | 4 ]
출력이 자세해야 하는지 여부를 지정합니다.Specifies whether the output should be verbose.

Value 설명Description
00 오류 메시지만 출력됩니다.Only error messages are printed.
11 모든 에이전트 진행률 보고 메시지가 출력됩니다.All agent progress report messages are printed.
2 (기본값)2 (default) 모든 오류 메시지와 에이전트 진행률 보고 메시지가 출력됩니다.All error messages and agent progress report messages are printed.
33 복제된 각 명령의 처음 100바이트가 출력됩니다.The first 100 bytes of each replicated command are printed.
44 복제된 모든 명령이 출력됩니다.All replicated commands are printed.

값 2-4는 디버깅할 때 유용합니다.Values 2-4 are useful when debugging.

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

-PollingInterval polling_interval-PollingInterval polling_interval
로그에서 복제된 트랜잭션을 쿼리하는 빈도(초)입니다.Is how often, in seconds, the log is queried for replicated transactions. 기본값은 5초입니다.The default is 5 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).

-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.

-PublisherLogin publisher_login-PublisherLogin publisher_login
게시자 로그인 이름입니다.Is the Publisher login name.

-PublisherPassword publisher_password-PublisherPassword publisher_password
게시자 암호입니다.Is the Publisher password.

-QueryTimeOut query_time_out_seconds-QueryTimeOut query_time_out_seconds
쿼리 시간이 초과될 때까지 걸리는 시간(초)입니다. 기본값은 1800초입니다.Is the number of seconds before the query times out. The default is 1800 seconds.

-ReadBatchSize number_of_transactions-ReadBatchSize number_of_transactions
게시 데이터베이스의 트랜잭션 로그에서 읽은 처리 사이클당 최대 트랜잭션 수로서, 기본값은 500입니다.Is the maximum number of transactions read out of the transaction log of the publishing database per processing cycle, with a default of 500. 에이전트에서는 로그의 모든 트랜잭션을 읽을 때까지 일괄 처리로 트랜잭션을 계속 읽습니다.The agent will continue to read transactions in batches until all transactions are read from the log. 이 매개 변수는 Oracle 게시자에 대해서는 지원되지 않습니다.This parameter is not supported for Oracle Publishers.

-ReadBatchThreshold number_of_commands-ReadBatchThreshold number_of_commands
배포 에이전트에서 구독자에 대해 실행하기 전에 트랜잭션 로그에서 읽을 복제 명령의 수입니다.Is the number of replication commands to be read from the transaction log before being issued to the Subscriber by the Distribution Agent. 기본값은 0입니다.The default is 0. 이 매개 변수가 지정되어 있지 않으면 로그 판독기 에이전트에서는 로그의 끝까지 또는 -ReadBatchSize (트랜잭션 수)에 지정된 개수까지 읽습니다.If this parameter is not specified, the Log Reader Agent will read to the end of the log or to the number specified in -ReadBatchSize (number of transactions).

-RecoverFromDataErrors-RecoverFromDataErrors
SQL Server 이외의 게시자에서 게시된 열 데이터에 오류가 발생할 경우에도 로그 판독기 에이전트가 계속 실행되도록 지정합니다.Specifies that the Log Reader Agent continue to run when it encounters errors in column data published from a non-SQL Server Publisher. 기본적으로는 이러한 오류가 발생하면 로그 판독기 에이전트가 실패합니다.By default, such errors cause the Log Reader Agent to fail. -RecoverFromDataErrors를 사용하면 잘못된 열 데이터가 NULL 또는 null이 아닌 적절한 값으로 복제되며 MSlogreader_history 테이블에 경고 메시지가 기록됩니다.When you use -RecoverFromDataErrors, erroneous column data is replicated either as NULL or an appropriate nonnull value, and warning messages are logged to the MSlogreader_history table. 이 매개 변수는 Oracle 게시자에 대해서만 지원됩니다.This parameter is only supported for Oracle Publishers.

주의Remarks

중요

도메인 사용자 계정(기본값) 대신 로컬 시스템 계정에서 실행되도록 SQL ServerSQL Server 에이전트를 설치한 경우 해당 서비스에서는 로컬 컴퓨터에만 액세스할 수 있습니다.If you installed SQL ServerSQL Server Agent to run under a local system account instead of under a domain user account (the default), the service can access only the local computer. SQL ServerSQL Server 에이전트에서 실행되는 로그 판독기 에이전트가 SQL ServerSQL Server에 로그인할 때 Windows 인증 모드를 사용하도록 구성된 경우 해당 로그 판독기 에이전트가 실패합니다.If the Log Reader Agent that runs under SQL ServerSQL Server Agent is configured to use Windows Authentication Mode when it logs in to SQL ServerSQL Server, the Log Reader Agent fails. 기본 설정은 SQL ServerSQL Server 인증입니다.The default setting is SQL ServerSQL Server Authentication. 보안 계정을 변경하는 방법에 대한 자세한 내용은 View and Modify Replication Security Settings을 참조하십시오.For information about changing security accounts, see View and Modify Replication Security Settings.

로그 판독기 에이전트를 시작하려면 명령 프롬프트에서 logread.exe 를 실행합니다.To start the Log Reader Agent, execute logread.exe from the command prompt. 자세한 내용은 복제 에이전트 실행 파일 개념을 참조하세요.For information, see Replication Agent Executables Concepts.

변경 내역Change History

업데이트된 내용Updated content
-ExtendedEventConfigFile 매개 변수를 추가했습니다.Added the -ExtendedEventConfigFile parameter.

관련 항목:See Also

복제 에이전트 관리Replication Agent Administration