Standard または Advancedのライセンスで利用可能。
非接続環境でレプリカを同期するには、メッセージを手動で交換する必要があります。これは、あるレプリカからメッセージをファイルにエクスポートした後、ファイルのメッセージを相対レプリカにインポートするという方法で行われます。非接続環境では、ファイルを CD や DVD などのメディアに焼き、配送業者に配達してもらうなどの方法でデータの受け渡しを行うことになります。
レプリカはいつでもデータの送信側と受信側になることができます。データの送信側は、相対レプリカに適用する変更を含むデータ変更メッセージをデルタ ファイルにエクスポートします。データの受信側は、受信した内容を確認するために承認ファイルに承認メッセージをエクスポートします。ArcMap の Replica Manager で、レプリカ ステータスを確認することにより、レプリカがデータの送信側であるか、データの受信側であるかを判定できます。Replica Manager については、「レプリカ管理のクイック ツアー」をご参照ください。
データの受信側にとっては、可能な限り頻繁に承認メッセージをエクスポートすることが重要です。承認メッセージが受信されていない場合、デフォルトでは、データの送信側が変更を再送信し、これらの変更が承認されるまで変更の再送信に必要な情報を保持します。この結果、データの送信側のジオデータベースが大きくなり、以降の変更データ メッセージも大きくなる可能性があります。
必須ではありませんが、データの受信側にとっては各データ変更メッセージの受信後に承認メッセージを送信することが適切です。また、1 つの承認メッセージですべてのデータ変更メッセージを承認することも重要となります。たとえば、レプリカが 3 つの変更データ メッセージを受信し、それぞれをインポートする場合、レプリカは 1 つの承認メッセージを送信して 3 つをまとめて承認できます。
以下では、親レプリカが子レプリカに変更を送信し、承認メッセージを子から受信する例を示しています。ここで、親はデータの送信側であり、子はデータの受信側です。
双方向レプリカでは、データの送信側とデータの受信側は役割を交換することもできます。データの送信側が役割を交換する指示を含む最終データ変更メッセージを送信すると、交換はデータの送信側によって開始されます。データの受信側がそのメッセージをインポートすると、役割が交換され、システムは反対方向にデータを送信する準備が整います。
以下の図は、役割を交換する指示を含むデータ変更メッセージを送信している親レプリカを示しています。親レプリカがこのメッセージをエクスポートすると、親レプリカはデータの受信側になります。子レプリカがこのメッセージを受信すると、子レプリカはデータの送信側になります。次に、子レプリカは親レプリカにデータ変更メッセージを送信します。
前述のように、双方向レプリカはデータ変更メッセージと承認メッセージを使用し、役割を交換できます。ただし、一方向レプリカでは、役割を交換できません。親から子への一方向レプリカの場合、親は常にデータの送信側です。子から親への一方向レプリカの場合、子は常にデータの送信側です。いずれの場合も、データの受信側が承認メッセージを送信することが重要です。チェックアウト レプリカでは、子は常にデータの送信側であり、承認メッセージは不要です。レプリカの種類の詳細については、「レプリケーションの種類」をご参照ください。
このトピックでは、これまでに親レプリカと子レプリカ間でメッセージを送受信する基本的なメッセージ交換パターンについて説明してきました。このパターンを続ける限り、システムは正常に機能し、メッセージが失われた場合でもそれ自体で修正します。ただし、以下の特定のメッセージ交換シナリオについても考慮する必要があります。
非承認メッセージの再送信
システムでは、非承認のデータ変更の再送信をレプリカに許可することができます。データの送信側であれば、以前のデータ変更メッセージが紛失したことがわかっているかその疑いがあるときに、これを許可したい場合があります。あるいは、メッセージの再送を次にデータ変更を送信するまで待つ方法もあります。データ変更メッセージには、デフォルトで、新しいデータ変更と非承認のデータ変更の両方が含まれるためです。
以下の図は、非承認のデータ変更の再送信が必要なケースを示しています。ここで、親はデータ変更メッセージを送信し、送信側から受信側に役割を交換します。ただし、メッセージが失われ、親と子の両方がデータの受信側のままになります。この問題を解決するために、役割を交換したばかりのデータの受信側は非承認のメッセージをもう一度エクスポートするオプションを使用できます。このケースでは、親は役割を交換するメッセージを子に再送信できます。
役割の交換後の変更の承認
双方向レプリカで役割を交換した後、データの送信側は承認メッセージをエクスポートするオプションを使用して、役割を交換したメッセージを承認できます。あるいは、このメッセージを暗黙的に承認するデータ変更メッセージを送信することもできます。ただし、すぐにデータ変更メッセージを送信する予定がない場合は、承認メッセージを送信する必要があります。
以下の図では、親は役割を交換するデータ変更メッセージを送信しています。子がメッセージを受信すると、子はデータの送信者になりますが、役割を交換したばかりなので、システムは承認メッセージの送信を許可します。
データ変更を送信しない役割の交換
役割の交換の指示を含みデータ変更を含まないデータ変更メッセージを送信できます。データの送信側は、データの受信側から変更を取得する必要があるがデータ変更を送信する準備が整っていない場合にこれを実行したい場合があります。データを送信しないで役割を交換するためにメッセージを送信する詳細については、「データ変更メッセージのエクスポート」をご参照ください。
承認メッセージ ファイルの省略
データ変更の送信時は、デフォルトですべての新しいデータ変更と非承認のデータ変更が送信されます。新しいデータ変更とは、最後のデータ変更メッセージがエクスポートされた後にレプリカ バージョンに適用されたすべての挿入、更新、削除です。非承認のデータ変更には、以前にエクスポートし、承認を受信していない変更も含まれます。承認を受信していない複数のデータ変更メッセージを送信した場合、データ変更ファイルはサイズが大きくなる可能性があります。
データの受信側にとって最適なソリューションは承認メッセージ ファイルを送信することです。ただし、通信システムによっては必ずしも常にこれができるわけではありません。たとえば、レプリカが接続されてなく、承認ファイルの送信にファイル交換用の配送用メディアが必要な場合、データ変更を受信しインポートしたことを通知する電子メールを、データの送信側のレプリカを管理している担当者に送信することがあります。
ただし、承認メッセージ ファイルを省略すると、同期の管理が複雑になることに注意してください。
- 承認メッセージをインポートすることは、システムにとってレプリカの変更を再送信するために必要なシステム バージョンを削除する唯一の方法です。削除されていないシステム バージョンは時間の経過とともに圧縮の妨げとなり、送信側のジオデータベースのサイズが大きくなり、ジオデータベース パフォーマンスが大幅に低下する可能性があります。その点を考えれば、少なくとも定期的に承認メッセージを使用することが重要です。
- 承認メッセージ ファイルを省略すると、データの送信側のレプリカを管理している担当者と、データの受信側を管理している担当者の両方による手動の介入が必要になります。
レプリカ マネージャーを使用して、レプリカで送受信された変更内容を確認できます。不必要にサイズが大きいデータ変更メッセージを送信しないようにするために、データの送信側は次回のデータ変更の送信時に [非承認のデータ変更を含める] オプションをオフにする必要があります。
- 承認メッセージ ファイルの使用を省略すると、同期ワークフローでエラーが発生しやすくなります。
以前の変更が間違いなくインポートされた場合のみ、データの受信側は新しい変更をインポートできます。以前送信された変更がインポートされていないことをシステムが検出した場合、エラーが返され、現在の一連の変更はインポートできません。複数のデータ変更メッセージを一度に送信する場合、これらのデータ変更メッセージは正しい順序でインポートされる必要があります。正しくない順序でインポートしようとすると、システムはエラーを返します。
エラーが発生すると、エラー メッセージが通知されます。ただし、自動化されたシステムを使用している場合、エラーは表示されないことがあります。このケースでは、レプリカ アクティビティ ログを使用して、同期中にエラーが発生したかどうかを確認できます。このログには、復旧する方法も示されます (該当する場合)。