Conservation de la hiérarchie des tables dans Réplication de données d'instance

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 3 minutes de lecture
  • Décidez si vous souhaitez répliquer une hiérarchie de tables parent-enfant et quelle stratégie utiliser pour répliquer les données dans Réplication de données d'instance (IDR).

    Avant de créer un jeu de réplication, déterminez si la table que vous souhaitez répliquer fait partie d’une hiérarchie de tables parent-enfant. Si c’est le cas, décidez si vous souhaitez conserver la hiérarchie et si vous souhaitez répliquer les données du point de vue parent (en conservant uniquement les colonnes appartenant à la table parente) ou du point de vue enfant (en conservant toutes les colonnes qui appartiennent aux tables enfants). Passez en revue les stratégies disponibles suivantes.

    Stratégie 1 : Conserver l’ensemble de la hiérarchie et répliquer les colonnes enfants
    Vous pouvez conserver l’ensemble de la hiérarchie, y compris toutes les colonnes de table enfant, en créant une entrée sortante pour chaque table enfant et en spécifiant un filtre de sys_class_name pour chaque table enfant.

    Par exemple, pour répliquer la table Tâche et vous assurer que toutes les colonnes de toutes les tables enfants sont incluses, spécifiez les éléments suivants :

    Tableau 1. Entrées sortantes
    Table Filtre
    Tâche sys_class_name=tâche
    Incident sys_class_name=incident
    Problème sys_class_name=problème
    Demande de changement sys_class_name=changement

    Et ainsi de suite, pour toutes les tables enfants, y compris les filtres avec chaque table du sys_class_name.

    Avec cette stratégie, les enregistrements sont insérés dans chaque table enfant du consommateur, y compris les données des colonnes qui appartiennent à chaque table enfant du producteur.

    Stratégie 2 : Préserver la hiérarchie, mais ne pas répliquer les colonnes enfants
    Pour conserver la hiérarchie mais répliquer uniquement les colonnes de la table parente, répliquez la table parente et incluez le champ Nom de classe [sys_class_name] dans la liste Champs inclus. L’inclusion du champ Nom de classe maintient la distinction entre les enregistrements parents et enfants sur l’instance de consommateur.
    Par exemple, si vous souhaitez répliquer la table Tâche et ses enfants (Incident, Problème, Demande de changement), mais répliquer uniquement les colonnes qui appartiennent à la table Tâche, spécifiez les éléments suivants :
    Tableau 2. Entrée sortante
    Table Champs inclus
    Tâche Nom de classe

    Dans cette stratégie, la colonne sys_class_name de la table Tâche consommateur reçoit des entrées pour la table parente (tâche) et les tables enfants (incident, problème et changement), et les enregistrements sont insérés dans les tables enfants respectives du consommateur. Toutefois, sans le filtre sys_class_name, les colonnes uniques à chaque table enfant ne sont pas répliquées.

    Stratégie 3 : ignorer la hiérarchie et répliquer uniquement les données de la table parente
    Pour ignorer la hiérarchie et répliquer uniquement les enregistrements parents, répliquez la table parente et excluez le champ Nom de classe [sys_class_name] de la liste Champs inclus. L’exclusion du champ Nom de classe supprime la distinction entre les enregistrements parents et enfants sur l’instance de consommateur. Tous les enregistrements répliqués sur le consommateur seront des enregistrements de table parente.
    Par exemple, si vous souhaitez répliquer des enregistrements à partir de la table de tâches et que vous considérez simplement tous les enregistrements comme des tâches à des fins de génération de rapports ou d’audit, spécifiez les éléments suivants :
    Tableau 3. Entrée sortante
    Table Champs inclus
    Tâche Tous les champs à l’exception du nom de classe

    Dans cette stratégie, lorsque vous répliquez la table Tâche, tous les enregistrements répliqués ont une valeur tâche dans la colonne sys_class_name, et aucune colonne appartenant aux tables enfants n’est répliquée.

    Modifier le comportement hérité

    Vous pouvez répliquer la hiérarchie complète des tables parent-enfant dans des jeux de réplication créés avant le Utah, mais vous devez créer des entrées sortantes distinctes pour chaque table et inclure le filtre de sys_class_name respectif à chaque table. Cela signifie que vous pouvez utiliser la stratégie 1 ci-dessus pour reproduire la hiérarchie, mais pas les stratégies 2 ou 3.

    Vous pouvez également utiliser n’importe quelle stratégie en modifiant l’ensemble de réplications du créateur et en définissant la valeur du champ Utiliser le nom de la table sur True. Notez que ce champ est masqué par défaut et que vous devez l’ajouter à votre formulaire Ensemble de réplications du créateur pour pouvoir le modifier. Le champ Utiliser le nom de la table est défini par défaut sur Vrai pour tous les nouveaux ensembles de réplications de créateur que vous créez à partir de la version Utah.