Replication Merge Agent

適用対象: SQL サーバー

レプリケーション マージ エージェントは、データベース テーブルに保持された初期スナップショットをサブスクライバーに適用するユーティリティ実行可能ファイルです。 さらに、初期スナップショットの作成後にパブリッシャーで発生したデータの増分変更をマージし、ユーザーが構成したルールに従って、またはユーザーが作成したカスタム競合回避モジュールを使用して、競合を調整します。

Note

パラメーターは任意の順序で指定できます。 省略可能なパラメーターを省略する場合、ローカル コンピューターであらかじめ定義されているレジストリ設定の値が使用されます。

構文

  
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]]  
[-T [101|102]]  
[-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]  

引数

-?
使用できるすべてのパラメーターを表示します。

-Publisher server_name[\instance_name]
パブリッシャーの名前です。 サーバー上で、Microsoft SQL Server の既定のインスタンスに接続するには server_name を指定します。 サーバー上で、 SQL Server の名前付きインスタンスに接続するには server_name\instance_name を指定します。

-PublisherDB publisher_database
パブリッシャー データベースの名前です。

-Publication publication
パブリケーションの名前です。 このパラメーターは、新規または再初期化されたサブスクリプションのスナップショットを常に利用できるようにパブリケーションを設定している場合にのみ有効です。

-Subscriber server_name[\instance_name]
サブスクライバーの名前です。 サーバー上で、SQL Server の既定のインスタンスに接続するには server_name を指定します。 サーバー上で、 SQL Server の名前付きインスタンスに接続するには server_name\instance_name を指定します。

-SubscriberDB subscriber_database
サブスクライバー データベースの名前です。

-AltSnapshotFolder alt_snapshot_folder_path
サブスクリプションの初期スナップショットが含まれるフォルダーへのパスです。

-Continuous
エージェントがレプリケートされたトランザクションの呼び出しを継続的に試みるかどうかを指定します。 このパラメーターを指定する場合、保留されているトランザクションがなくても、エージェントはポーリング間隔でレプリケートされたトランザクションをソースから呼び出します。

-DestThreads number_of_destination_threads
マージ エージェントが変更の対象で変更を適用するために使用する対象スレッドの数を指定します。 変更の対象は、アップロード実行時はパブリッシャーであり、ダウンロード実行時はサブスクライバーです。 既定値は 4 です。

-DefinitionFile def_path_and_file_name
エージェント定義ファイルのパスです。 エージェント定義ファイルには、エージェントのコマンド プロンプト引数が含まれます。 ファイルの内容は実行可能ファイルとして解析されます。 二重引用符 (") を使用して、任意の文字を含む引数値を指定します。

-Distributor server_name[\instance_name]
ディストリビューターの名前です。 サーバー上で、SQL Server の既定のインスタンスに接続するには server_name を指定します。 サーバー上で、 SQL Server の名前付きインスタンスに接続するには server_name\instance_name を指定します。 ディストリビューター (プッシュ) ディストリビューションの場合、ローカル コンピューターでは SQL Server の既定のインスタンス名が既定の名前になります。

-DistributorLogin distributor_login
ディストリビューターのログイン名です。

-DistributorPassword distributor_password
ディストリビューターのパスワードです。

-DistributorSecurityMode [ 0| 1]
ディストリビューターのセキュリティ モードを指定します。 値 0 は SQL Server の認証モード (既定値) を示し、値 1 は Windows 認証モードを示します。

-DownloadGenerationsPerBatch download_generations_per_batch
パブリッシャーからサブスクライバーに変更をダウンロードする間に、1 つのバッチで処理される生成結果の数です。 生成結果は、アーティクルごとに変更の論理グループとして定義されます。 信頼性の高い通信リンクの既定値は 100です。 信頼性の低い通信リンクの既定値は 10 です。

-DownloadReadChangesPerBatch download_read_changes_per_batch
パブリッシャーからサブスクライバーに変更をダウンロードする間に、1 つのバッチで読み取られる変更の数です。 既定値は、100 です。

-DownloadWriteChangesPerBatch download_write_changes_per_batch
パブリッシャーからサブスクライバーに変更をダウンロードする間に、1 つのバッチで適用される変更の数です。 既定値は、100 です。

-DynamicSnapshotLocation dynamic_snapshot_location
パブリケーションでパラメーター化された行フィルターを使用する場合のフィルター選択されたデータ スナップショット ファイルの位置です。

-EncryptionLevel [ 0 | 1 | 2 ]
接続確立時にマージ エージェントが使用するトランスポート層セキュリティ (TLS) (旧称 Secure Sockets Layer (SSL)) の暗号化レベルです。

EncryptionLevel の値 説明
0 TLS を使用しないことを指定します。
1 TLS を使用しますが、信頼できる発行者によって TLS/SSL サーバー証明書が署名されているかどうかをエージェントでは検証しないことを指定します。
2 TLS を使用し、証明書を検証することを指定します。

Note

有効な TLS/SSL 証明書は、SQL Server の完全修飾ドメイン名を使用して定義されます。 -EncryptionLevel を 2 に設定したときにエージェントが正しく接続されるようにするには、ローカルの SQL Server 上に別名を作成します。 'Alias Name' パラメーターはサーバー名にし、'Server' パラメーターは SQL Server の完全修飾名に設定する必要があります。

詳細については、「レプリケーションのセキュリティ設定の表示および変更」を参照してください。

-ExchangeType [ 1| 2| 3]

警告

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 アップロードを制限するには、 @subscriber_upload_optionssp_addmergearticle を代わりに使用します。

同期中のデータ交換の種類を指定します。次のいずれかを指定できます。

ExchangeType の値 説明
1 エージェントは、サブスクライバーからパブリッシャーにデータ変更をアップロードします。
2 エージェントは、パブリッシャーからサブスクライバーにデータ変更をダウンロードします。
3 (既定値) エージェントは最初にサブスクライバーからパブリッシャーにデータ変更をアップロードし、次にパブリッシャーからサブスクライバーにデータ変更をダウンロードします。 このオプションは、Web 同期で使用する必要があります。

ダウンロード専用のアーティクルによって、パブリケーション内の個別のアーティクルの同期の動作を制御して、パフォーマンスを向上させることができます。 詳細については、「ダウンロード専用アーティクルを使用したマージ レプリケーションのパフォーマンス最適化」を参照してください。

ExchangeType を使用してマージ レプリケーションのアップロード フェーズとダウンロード フェーズを個別のセッションとして分ける場合は、 ExchangeType を 1 に設定してマージ エージェントを実行し、その後でこのパラメーターの値を 2 に設定してマージ エージェントを再度実行する必要があります。 どちらのパラメーターを使用してもマージ エージェントの実行が失敗する場合、メタデータが削除され、サブスクリプションの再初期化 (アップロードは行わない) を要求される可能性があります。

-FastRowCount [0|1]
行数の検証に使用する行数計算方法の種類を指定します。 値 1 (既定) は高速計算法を示します。 値 0 は、完全行数計算法を示します。

-FileTransferType [0|1]
ファイル転送の種類を指定します。 0 の値は UNC (汎用名前付け規則) を示し、 1 の値は FTP (ファイル転送プロトコル) を示します。

-ForceConvergenceLevel [0|1|2 ( Publisher| Subscriber| Both)]
マージ エージェントが使用する収束のレベルを指定します。次のいずれかを指定できます。

ForceConvergenceLevel の値 説明
0 (既定値) 既定。 追加の収束なしで標準のマージを実行します。
1 すべての生成結果の収束を強制します。
2 すべての生成結果の収束を強制し、破損した系列を修正します。 この値を指定する場合は、系列を修正する場所 (パブリッシャー、サブスクライバー、またはパブリッシャーとサブスクライバーの両方) を指定します。

-FtpAddress ftp_address
ディストリビューター用の FTP サービスのネットワーク アドレスです。 このパラメーターを指定しない場合、 Distributor が使用されます。

-FtpPassword ftp_password
FTP サービスに接続するときに使用するユーザー パスワードです。

-FtpPort ftp_port
ディストリビューター用の FTP サービスのポート番号です。 このパラメーターを指定しない場合、FTP サービスの既定のポート番号 (21) が使用されます。

-FtpUserName ftp_user_name
FTP サービスに接続するときに使用するユーザー名です。 この引数を指定しない場合は、匿名が使用されます。

-HistoryVerboseLevel [1|2|3]
マージ操作中にログに記録する履歴の量を指定します。 1を選択すれば、ログへの履歴の記録がパフォーマンスに与える影響を最小限に抑えることができます。

HistoryVerboseLevel の値 説明
0 エージェントの状態の最終メッセージ、最終のセッションの詳細、およびすべてのエラーをログに記録します。
1 各セッションの状態における増分セッションの詳細をログに記録します。エージェントの状態の最終メッセージ、最終のセッションの詳細、およびすべてのエラーに加えて、進行状況が含まれます。
2 既定。 各セッションの状態における増分セッションの詳細、およびアーティクル レベルのセッションの詳細をログに記録します。エージェントの状態の最終メッセージ、最終のセッションの詳細、およびすべてのエラーに加えて、進行状況が含まれます。 エージェントの状態のメッセージもログに記録されます。
3 -HistoryVerboseLevel = 2と同じですが、より多くのエージェント進行状況メッセージがログに記録されます。

-Hostname host_name
ローカル コンピューターのネットワーク名です。 既定値は、ローカル コンピューターの名前になります。

-InteractiveResolution [0|1]
同期中に競合が発生した場合に、インタラクティブ競合回避を使用するかどうかを指定します。 既定値の 0は、インタラクティブ競合回避を使用しないことを示します。

-InternetLogin internet_login
SQL Server 認証を必要とする、SQL Server のレプリケーション リスナー ISAPI DLL への接続時に使用されるログイン名を指定します。

-InternetPassword internet_password
SQL Server 認証を必要とする、SQL Server のレプリケーション リスナー ISAPI DLL への接続時に使用されるパスワードを指定します。

-InternetProxyLogin internet_proxy_login
認証を必要とする、 internet_proxy_serverで定義されたプロキシ サーバーへの接続時に使用されるログイン名を指定します。

–InternetProxyPassword internet_proxy_password
認証を必要とする、 internet_proxy_serverで定義されたプロキシ サーバーへの接続時に使用されるパスワードを指定します。

-InternetProxyServer internet_proxy_server
internet_urlで指定した HTTP リソースへのアクセス時に使用するプロキシ サーバーを指定します。

-InternetSecurityMode [0|1]
Web 同期時の Web サーバーとの接続に使用される IIS セキュリティ モードを指定します。 値 0 は基本認証を示し、値 1 は Windows 統合認証 (既定値) を指定します。

-InternetTimeout internet_timeout
SQL Server のレプリケーション リスナー ISAPI DLL に接続してからタイムアウトになるまでの秒数です。

-InternetURL internet_url
SQL Server のレプリケーション リスナー ISAPI DLL への接続に使用される URL を指定します。 このプロパティの指定は必須です。

-KeepAliveMessageInterval keep_alive_message_interval_seconds
既存の接続がサーバーからの応答を待機しているかどうかを、履歴スレッドがチェックするまでの秒数です。 長時間実行のときに、照合エージェントがマージ エージェントに SUSPECT のマークを付けないようにするには、この値を小さくします。 既定値は 300 秒です。

-LoginTimeOut login_time_out_seconds
ログインがタイムアウトになるまでの秒数です。既定値は 15 秒です。

-MakeGenerationInterval make_generation_interval_seconds
クライアントにダウンロードする生成結果 (変更のバッチ) を作成する間隔 (秒) です。 既定値は 1 秒です。

Makegeneration は、パブリッシャーの変更をサブスクライバーにダウンロードするように準備するプロセスです。また、ダウンロード中にパフォーマンスのボトルネックになる場合があります。 makegeneration プロセスが -MakeGenerationIntervalで指定された間隔で既に実行された場合、現在の同期セッションでは、このプロセスはスキップされます。 これは、同期のコンカレンシーに役立つ場合があります。特に、サブスクライバーが変更をダウンロードしない場合に役立ちます。

-MaxBcpThreads number_of_threads
並列実行できる一括コピーの操作数を指定します。 同時に存在するスレッドおよび ODBC 接続の最大数は、 MaxBcpThreads 、またはパブリケーション データベース内のシステム テーブル sysmergeschemachange に表示される一括コピー要求数のいずれか少ない方の値になります。 MaxBcpThreads の値は、0 よりも大きくする必要がありますが、ハードコーディングされた上限はありません。 既定値は 1です。

-MaxDownloadChanges number_of_download_changes
パブリッシャーからサブスクライバーにダウンロードする必要のある変更済みの行の最大数を指定します。 ダウンロードする行数が、指定した最大数より多くなる場合があります。完全な生成結果が処理されること、および並列の対象スレッドが実行されて最初のパスでそれぞれ 100 以上の変更が処理されることが原因です。 既定では、ダウンロードの準備が整っている変更がすべて送信されます。

-MaxUploadChanges number_of_upload_changes
サブスクライバーからパブリッシャーにアップロードする必要のある変更済みの行の最大数を指定します。 アップロードする行数が、指定した最大数より多くなる場合があります。完全な生成結果が処理されること、および並列の対象スレッドが実行されて最初のパスでそれぞれ 100 以上の変更が処理されることが原因です。 既定では、アップロードの準備が整っている変更がすべて送信されます。

-MetadataRetentionCleanup [0|1]
パブリケーション保有期間に基づいて、メタデータを MSmerge_genhistoryMSmerge_contentsMSmerge_tombstoneMSmerge_past_partition_mappings、および MSmerge_current_partition_mappings から削除するかどうかを指定します。 既定値の 1は、クリーンアップを行う必要があることを示します。 値 0 は、クリーンアップを自動的に実行しないことを示します。

-Output output_path_and_file_name
エージェントの出力ファイルのパスです。 ファイル名が指定されていない場合、出力はコンソールに送られます。 指定された名前のファイルが存在する場合、出力はそのファイルに追加されます。

-OutputVerboseLevel [0|1|2]
出力を詳細表示にするかどうかを指定します。 詳細レベルが 0の場合、エラー メッセージだけが出力されます。 詳細レベルが 1の場合、すべての実行状況報告メッセージが印刷されます。 詳細レベルが 2 (既定値) の場合、すべてのエラー メッセージと実行状況報告メッセージが出力されます。これはデバッグ時に便利です。

-ParallelUploadDownload [0|1]
パブリッシャーにアップロードする変更とサブスクライバーにダウンロードする変更をマージ エージェントが並列で処理するかどうかを指定します。これは帯域幅が広いネットワークを使用している大容量環境で有用な場合があります。 ただし、ParallelUploadDownload1 に設定されている場合は、次の警告にご注意ください。

このパラメーターは、間もなく非推奨化される可能性があるリストにあります。 ParallelUploadDownload パラメーターを 0 に設定して、"高ボリューム サーバー間" のマージ エージェント プロファイルを使用しないようにすることをお勧めします。このプロファイルでは ParallelUploadDownload が 1 に設定されているためです。

警告

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。

-PacketSize
パケット サイズをバイト単位で指定します。 既定値は 4096 (バイト) です。

-PollingInterval polling_interval
パブリッシャーまたはサブスクライバーへのデータ変更をクエリする間隔 (秒数) を示します。 既定値は 60 秒です。

-ProfileName profile_name
エージェント パラメーターに使用するエージェント プロファイルを指定します。 ProfileName が NULL の場合、このエージェント プロファイルは無効になります。 ProfileName を指定しない場合、エージェントの種類に応じた既定のプロファイルが使われます。 詳細については、「レプリケーション エージェント プロファイル」を参照してください。

-PublisherFailoverPartner server_name[\instance_name]
パブリケーション データベースとのデータベース ミラーリング セッションに参加する、SQL Server フェールオーバー パートナー インスタンスを指定します。 詳細については、「データベース ミラーリングとレプリケーション (SQL Server)」をご覧ください。

-PublisherLogin publisher_login
パブリッシャーのログイン名です。 PublisherSecurityMode0 (SQL Server 認証) の場合、このパラメータを指定する必要があります。

-PublisherPassword publisher_password
パブリッシャーのパスワードです。 PublisherSecurityMode0 (SQL Server 認証) の場合、このパラメータを指定する必要があります。

-PublisherSecurityMode [0|1]
パブリッシャーのセキュリティ モードを指定します。 値 0 は SQL Server 認証 (既定値) を示し、値 1 は Windows 認証モードを示します。

-QueryTimeOut query_time_out_seconds
クエリがタイムアウトするまでの秒数です。既定値は 300 秒です。 マージ エージェントも QueryTimeout の値を使用して、この値が 1800 を超える場合にパーティション スナップショットの生成をどのくらいの期間待機するかを判断します。

-SrcThreads number_of_source_threads
マージ エージェントが変更元から変更を列挙するために使用するソース スレッドの数を指定します。 変更元は、アップロード実行時はサブスクライバーであり、ダウンロード実行時はパブリッシャーです。 既定値は 3です。

-StartQueueTimeout start_queue_timeout_seconds
実行中の同時マージ処理数が sp_addmergepublication@max_concurrent_mergeプロパティによって設定された制限に達した場合に、マージ エージェントが待機する最長秒数です。 最長秒数に達したときにマージ エージェントが待機中である場合、マージ エージェントは終了します。 値 0 は、エージェントが無制限に待機することを示します。ただし、キャンセルできます。

-SubscriberDatabasePath subscriber_database_path
SubscriberType2 の場合、Jet データベース (.mdb) ファイルへのパスを指定します。この指定では、ODBC データ ソース名 (DSN) なしで Jet データベースに接続することができます。

-SubscriberDBAddOption [0| 1| 2| 3]
既存のサブスクライバー データベースがあるかどうかを指定します。

SubscriberDBAddOption の値 説明
0 既存のデータベースを使用します (既定値)。
1 新しい空のサブスクライバー データベースを作成します。
2 新しいデータベースを作成して、指定されたファイルにアタッチします。
3 新しいデータベースを作成し、データベースをアタッチして、ファイルに存在する可能性のあるすべてのサブスクリプションを有効にします。

Note

2 および 3を使用する場合は、サブスクライバーのデータベース パスを SubscriberDatabasePath オプションで指定する必要があります。

-SubscriberLogin subscriber_login
サブスクライバーのログイン名です。 SubscriberSecurityMode0 (SQL Server 認証モード) の場合、このパラメーターを指定する必要があります。

-SubscriberPassword subscriber_password
サブスクライバーのパスワードです。 SubscriberSecurityMode0 (SQL Server 認証モード) の場合、このパラメーターを指定する必要があります。

-SubscriberSecurityMode [ 0| 1]
サブスクライバーのセキュリティ モードを指定します。 値 0 は SQL Server 認証 (既定値) を示し、値 1 は Windows 認証モードを示します。

-SubscriberConflictClean [ 0| 1]
同期処理中にサブスクライバーで競合テーブルがクリーンアップされるかどうかを示します。値 1 は、サブスクライバーで競合テーブルがクリーンアップされることを示します。 このパラメーターは、競合のログ記録が集中管理されていないパブリケーションに対するサブスクリプションにのみ使用されます。

-SubscriberType [ 0| 1| 3| 4| 5| 6| 7| 8]
マージ エージェントによって使用されるサブスクライバー接続の種類を指定します。 このパラメーターでは、既定値の 0 のみがサポートされています。

-SubscriptionType[ 0| 1| 2]
ディストリビューションのサブスクリプションの種類を指定します。 値 0 は、プッシュ サブスクリプション (既定値) を示します。値 1 はプル サブスクリプションを示し、値 2 は匿名サブスクリプションを示します。

-SyncToAlternate [ 0|1]
マージ エージェントがサブスクリプションと代替パブリッシャー間での同期を実行しているかどうかを指定します。 値 1 は、これが代替パブリッシャーであることを示します。 既定値は 0 です。

-T [101|102]
マージ エージェントの追加機能を有効にするトレース フラグ。 値 101 を指定すると、マージ レプリケーション同期プロセスの各ステップにかかる時間を特定するのに役立つ追加の詳細ログ情報が有効になります。 値 102 を指定すると、トレース フラグ 101 と同じ統計情報が書き込まれますが、書き込み先は <Distribution server>..msmerge_history テーブルとなります。 トレース フラグ 101 を使用する場合は、-output パラメーターと -outputverboselevel パラメーターを使用してマージ エージェントのログ記録を有効にします。 たとえば、次のパラメーターをマージ エージェントに追加してから、エージェントを再起動します: -T 101, -output, -outputverboselevel

-UploadGenerationsPerBatch upload_generations_per_batch
サブスクライバーからパブリッシャーに変更をアップロードする間に、1 つのバッチで処理される生成結果の数です。 生成結果は、アーティクルごとに変更の論理グループとして定義されます。 信頼性の高い通信リンクの既定値は 100です。 信頼性の低い通信リンクの既定値は 1です。

-UploadReadChangesPerBatch upload_read_changes_per_batch
サブスクライバーからパブリッシャーに変更をアップロードする間に、1 つのバッチで読み取られる変更の数です。 既定値は 100です。

-UploadWriteChangesPerBatch upload_write_changes_per_batch
サブスクライバーからパブリッシャーに変更をアップロードする間に、1 つのバッチで適用される変更の数です。 既定値は 100です。

-UseInprocLoader
マージ エージェントでスナップショット ファイルをサブスクライバーに適用するときに BULK INSERT コマンドを使用することによって、初期スナップショットのパフォーマンスが向上します。 このパラメーターは XML データ型との互換性がないため非推奨とされます。 XML データをレプリケートしない場合にのみ、このパラメーターを使用できます。 このパラメーターは、キャラクター モードのスナップショットでは使用できません。 このパラメーターを使用する場合は、サブスクライバー側の SQL Server サービス アカウントに、スナップショットの .bcp データ ファイルが格納されたディレクトリの読み取り権限が必要です。 このパラメーターを使用しない場合、エージェントからロードした ODBC ドライバーがファイルから読み取られるため、SQL Server サービス アカウントのセキュリティ コンテキストは使用されません。

-Validate [0|1|2|3]
マージ セッションの最後に検証を行うかどうかを指定し、行う場合は検証の種類も指定します。 推奨値は 3 です。

Validate の値 説明
0 (既定値) 検証なし。
1 行数のみの検証。
2 行数とチェックサムの検証。
3 行数とバイナリ チェックサムの検証。

Note

バイナリ チェックサムまたはチェックサムを使用した検証では、データ型がサブスクライバー側とパブリッシャー側とで異なる場合には、誤ってエラーを報告することがあります。 詳細については、「レプリケートされたデータの検証」の「データ検証に関する注意点」を参照してください。

-ValidateInterval validate_interval
サブスクリプションが継続モードで検証される間隔 (分) です。 既定値は 60 分です。

解説

重要

ドメイン ユーザー アカウント (既定値) ではなくローカル システム アカウントで実行するように SQL Server エージェントがインストールされている場合、サービスはローカル コンピューターにしかアクセスできません。 SQL Server エージェントの下で実行するマージ エージェントを、SQL Server へのログイン時に Windows 認証モードが使用されるように構成すると、マージ エージェントは異常終了します。 既定の設定は SQL Server 認証です。

マージ エージェントを起動するには、コマンド プロンプトから replmerg.exe を実行します。 詳細については、「 レプリケーション エージェント実行可能ファイルのプログラミング」を参照してください。

マージ エージェントのパフォーマンスのトラブルシューティング

現在のセッションのマージ エージェントの履歴は、連続モードでの実行中には削除されません。 エージェントが長時間実行されると、マージ履歴テーブルに多数のエントリが発生し、パフォーマンスに影響する可能性があります。 この問題を解決するには、スケジュールされたモードに切り替えるか、引き続き連続モードを使用する場合は、定期的にマージ エージェントを再起動するための専用のジョブを作成するか、履歴の詳細レベルを下げて行数を減らして、パフォーマンスへの影響を軽減してください。

場合によって、レプリケーション マージ エージェントでは、変更をレプリケートするのに長い時間を要する場合があります。 マージ レプリケーション同期プロセスで最も時間がかかる手順を特定するには、トレース フラグ 101 をマージ エージェント ログと共に使用します。 これを行うには、マージ エージェント パラメーターとして次のパラメーターを使用して、エージェントを再起動します:
-T 101
-output
-outputverboselevel

また、<Distribution server>..msmerge_history テーブルに統計情報を書き込む必要がある場合は、トレース フラグ -T 102 を使用します。

参照

レプリケーション エージェントの管理