インスタンスデータレプリケーション (IDR) での挿入および更新エラーの防止

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む2読むのに数分
  • プロデューサーレプリケーションセットで class name フィルターを指定することで、インスタンスデータレプリケーション (IDR) (IDR) での挿入および更新の失敗を防ぐことができます。

    重要:
    このトピックは、Utah リリースより前に作成されたプロデューサーレプリケーションセットにのみ適用されます。

    親テーブルと 1 つ以上の子テーブルを複製する場合は、プロデューサーレプリケーションセットの送信エントリで sys_class_name フィルターを親テーブルに追加する必要があります。sys_class_nameフィルターが見つからない場合、挿入と更新のエラーは インスタンスデータレプリケーション (IDR) > レプリケーションペイロード 次のシナリオでは:

    • 子テーブル内のレコードが複製されるときに挿入エラーが発生します。これは、システムが親テーブルに対して同じ sys_id で 2 回挿入しようとするためです。sys_class_name フィルターを親に追加すると、親テーブルへの挿入中の一意キー違反が防止されます。
    • プロデューサーインスタンスの複製された子テーブルに新しいレコードが追加されます。 インスタンスデータレプリケーション (IDR) (IDR) は最初にコンシューマーの親テーブルにレコードを作成しますが、子テーブルには作成しません。プロデューサーインスタンスで子レコードが変更された場合、レコードは親テーブルにのみ存在するため、レプリケーション中にコンシューマーインスタンスの子テーブルで更新エラーが発生します。

    親テーブルである場合は、その子テーブルを複製するかどうかを決定します。

    • 1 つ以上の子テーブルを複製する場合は、親テーブルの sys_class_name 値を識別し、対応する sys_class_name フィルターを親テーブルに追加する必要があります。

      たとえば、タスクタイプは、タスク [task] テーブルの sys_class_name のラベルです。タスクに加えてインシデントの複製を開始するには、タスク [task] テーブルの送信エントリに [タスクタイプ] [次の値に等しい (=)] [タスク] を追加する必要があります。

    • 親テーブルのみを複製する場合、このフィルターはオプションです。
    • 親テーブルが既に複製されている場合は、親を編集して sys_class_name フィルターを追加する必要があります。

    子テーブルである場合は、その親を複製するかどうかを決定します。

    • 親テーブルも同様に複製する場合、親テーブルの sys_class _name 値を識別し、対応する sys_class_name フィルターを親テーブルに追加する必要があります。

      たとえば、タスクタイプは、タスク [task] テーブルの sys_class_name のラベルです。インシデントに加えてタスクの複製を開始するには、タスク [task] テーブルの送信エントリに [タスクタイプ] [次の値に等しい (=)] [タスク] を追加する必要があります。

    • 子テーブルのみを複製する場合は、フィルターはオプションです。
    • 1 つ以上の子テーブルが既に複製されている場合は、sys_class_name フィルターを親に追加する必要があります。