レプリケーション ログ リーダー エージェントReplication Log Reader Agent

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

レプリケーション ログ リーダー エージェントは、トランザクション レプリケーション用に構成した各データベースのトランザクション ログを監視し、レプリケーションのマークが付けられたトランザクションをトランザクション ログからディストリビューション データベースにコピーする実行可能ファイルです。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. 0 の値は SQL ServerSQL Server 認証モード (既定値) を示し、 1 の値は MicrosoftMicrosoft 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.

注意

有効な SSL 証明書には、SQL Server の完全修飾ドメイン名が定義されます。A valid SSL certificate is defined with a fully qualified domain name of the SQL Server. -EncryptionLevel を 2 に設定したときにエージェントが正しく接続されるようにするには、ローカルの SQL Server 上に別名を作成します。In order for the agent to connect successfully when setting -EncryptionLevel to 2, create an alias on the local SQL Server. 'Alias Name' パラメーターはサーバー名にし、'Server' パラメーターは SQL Server の完全修飾名に設定する必要があります。The ‘Alias Name’ parameter should be the server name and the ‘Server’ parameter should be set to the fully qualified name of the SQL Server.

詳細については、「レプリケーションのセキュリティ設定の表示および変更」を参照してください。For more information, see View and modify replication security settings.

-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. 同じ状態 (startup、progress、success など) を示している以前の履歴メッセージを常に更新します。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. 長時間実行のときに、照合エージェントによってログ リーダー エージェントに SUSPECT とマークされないようにするには、この値を小さくします。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.

RemarksRemarks

重要

ドメイン ユーザー アカウント (既定値) ではなくローカル システム アカウントで実行するように 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 エージェントから実行されるログ リーダー エージェントで、Windows 認証モードを使用するように構成すると、 SQL ServerSQL Serverへのログイン時にログ リーダー エージェントは異常終了します。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