Modifications de structure de réplica

Disponible avec une licence Standard ou Advanced.

Lorsqu’un réplica est créé, les données et la structure sont copiées depuis la géodatabase parent vers la géodatabase enfant. Les données incluent les lignes à répliquer à partir des jeux de données dans le réplica. La structure se compose des champs, domaines, sous-types et de la définition des jeux de données dans les données répliquées.

Les structures sont initialement identiques sur les deux réplicas, mais au fil du temps, des modifications peuvent être apportées à la structure de géodatabase de chaque réplica. Par exemple, un réplica peut nécessiter des champs supplémentaires pour terminer un projet, tandis que le réplica associé peut requérir un nouveau domaine dans un champ existant. Dans ce cas, les structures de géodatabase des réplicas ne sont plus les mêmes. Vous pouvez utiliser des outils de géotraitement pour comparer les structures de géodatabase des réplicas, identifier les différences et pour certains types de modification de structure, synchroniser la structure entre les deux géodatabases.

Les modifications de structure changent la structure ou la définition des objets, tels que les tables et classes d’entités d’une géodatabase. C’est pourquoi, les modifications de structure s’appliquent directement aux objets de cette géodatabase ; elles ne se limitent pas à certaines versions spécifiques.

Outils des structures de réplica

Trois outils de géotraitement sont utilisés pour les modifications des structures de réplica :

  • Exporter une structure de réplica : crée un fichier de structure de réplica avec la structure d’un réplica monodirectionnel ou bidirectionnel.
  • Comparer une structure de réplica : génère un fichier .xml décrivant les différences de structure entre une géodatabase de réplica et la géodatabase du réplica associé.
    • Le fichier de modifications de structure généré à partir de cet outil décrit les modifications à appliquer à la géodatabase de réplica pour qu’elle corresponde à la géodatabase du réplica associé.
  • Importer une structure de réplica : applique les différences de structure de réplica à l’aide d’une géodatabase de réplica en entrée et d’un fichier .xml.

Les outils de modifications de structure sont accessibles à partir des emplacements suivants :

  • Dans la fenêtre Geoprocessing (Géotraitement), vous pouvez utiliser l’option de recherche ou accéder à la boîte à outils Distributed Geodatabase (Géodatabase répartie).
  • Dans la fenêtre Manage Replicas (Gérer les réplicas), vous pouvez utiliser le Manage Replicas Menu (Menu Gérer les réplicas) Menu.
    Outils de modification de structure accessibles à partir du menu Manage Replicas (Gérer les réplicas)
  • Dans la fenêtre Catalog (Catalogue), vous pouvez cliquer avec le bouton droit sur une géodatabase et accéder au menu contextuel Distributed Geodatabase (Géodatabase répartie).
    Outils de modification de structure accessibles à partir du menu contextuel Distributed Geodatabase (Géodatabase répartie)

Pour appliquer des modifications de structure à la géodatabase d’un réplica associé, reportez-vous aux instructions de la rubrique Gérer les réplicas de géodatabase.

Remarque :

La modification de la structure d'un réplica pour qu'elle corresponde à celle d'un réplica associé est un processus distinct de la synchronisation des données.

Valider les modifications de structure

La table suivante dresse la liste des types de modifications de structure pouvant être importées dans la géodatabase du réplica associé à l’aide de l’outil de géotraitement Importer une structure de réplica. Les valeurs de la table indiquent si ou comment les modifications de structure sont appliquées à la géodatabase du réplica associé.

AdditionModifier

Terrain

Les champs ajoutés aux tables ou aux classes d’entités sont synchronisés.

Les modifications des domaines appliqués aux champs sont synchronisées.

Domaine

Les nouveaux domaines sont synchronisés.

Les modifications des définitions de domaine sont synchronisées.

Table ou classe d’entités

Les champs ajoutés et les domaines appliqués aux champs dans les tables et les classes d’entités sont synchronisés.

Les champs, tables ou classes d’entités qui sont supprimés ne sont pas synchronisés avec la géodatabase du réplica associé (c’est-à-dire, qu’ils ne sont pas supprimés de la géodatabase du réplica associé).

Suppression de jeux de données d’un réplica

Une liste des jeux de données impliqués dans chaque réplica est stockée dans une géodatabase de réplica. Vous pouvez afficher cette liste dans la boîte de dialogue Replica Properties (Propriétés du réplica). Pour des instructions sur l’ouverture de ces propriétés, reportez-vous à la rubrique Gérer les réplicas de géodatabase.

Si vous désinscrivez l’un de ces jeux de données d’un réplica, un avertissement apparaît. Si vous poursuivez l’opération, le jeu de données est supprimé de la liste des jeux de données de réplica. Notez également les points suivants :

  • Si vous désinscrivez une table, une classe d’entités ou une classe de relations, vous ne pouvez pas la rajouter au réplica.
  • Si vous désinscrivez une topologie, vous ne pouvez pas la rajouter au réplica. Les réplicas seront toujours synchronisés. Toutefois, la synchronisation des exceptions topologiques n’est pas prise en charge.

Gestion des différences de structure

La réplication de géodatabase a pour but de permettre certaines différences de structure entre les géodatabases des réplicas, ce qui permet à la synchronisation des données de fonctionner dans la plupart des cas.

Toutefois, lorsque vous appliquez une modification de structure à une géodatabase de réplica mais pas à l’autre, les problèmes suivants peuvent se produire :

  • Mises à jour non synchronisées : la synchronisation des données importe uniquement les modifications des tables et champs communs aux deux réplicas. Si une mise à jour est apportée à un champ qui ne se trouve pas dans la géodatabase du réplica associé, cette mise à jour ne peut pas être appliquée dans la géodatabase du réplica lors de l’importation des modifications.
  • Valeurs non valides : les modifications qui enfreignent des domaines, sous-types et règles de relation sont appliquées lors de la synchronisation des modifications.
  • Erreurs de synchronisation des données : elles peuvent survenir lorsque vous appliquez manuellement une modification de structure aux géodatabases des deux réplicas. Par exemple, si vous ajoutez un champ à une table, assurez-vous d’utiliser la même définition de champ dans les deux géodatabases de la paire de réplicas. En cas de différence (par exemple, si un champ est une chaîne dans la géodatabase d’un réplica mais un entier dans l’autre), une erreur de synchronisation des données survient.
  • Modifications non prises en charge : certains types de modifications de structure peuvent entraîner l’échec de la synchronisation, mais aucun avertissement n’apparaît si vous appliquez la modification. Ces mouvements ne sont pas détectables par le système de réplication de géodatabase. Ils incluent des opérations au niveau de la base de données, telles que la modification des autorisations dans les tables de la base de données. Si les autorisations sont définies en lecture seule pour les données répliquées, un échec se produit lors de la tentative d’importation des modifications à partir de la géodatabase du réplica associé.

Bonnes pratiques

En règle générale, il est préférable d’éviter les mouvements de structure. Les mouvements de structure peuvent entraîner des incohérences parmi les réplicas et le travail supplémentaire que demande l’application de mouvements de structure peut augmenter les coûts de performance. Toutefois, des mouvements de structure doivent être appliqués dans certains cas. Voici les meilleures pratiques permettant d’éviter les modifications de structure :

  • Appliquer des comparaisons de structure régulières : la réplication tolèrant les pannes, il est probable que les synchronisations ne soient pas interrompues par les modifications de structure. Il est toutefois conseillé d’exécuter régulièrement une comparaison des structures afin de s’assurer qu’aucun mouvement de structure non prévu n’a été appliqué.
  • Ne synchronisez pas tant qu’une tâche de maintenance nécessitant une modification de structure n’est pas terminée.
  • Appliquer les modifications de structure au niveau du système : si des modifications de structure doivent être appliquées, appliquez-les à l’échelle du système et de manière organisée. Par exemple, utilisez une approche du haut vers le bas, dans laquelle les modifications sont appliquées à la géodatabase du réplica parent et propagées aux réplicas enfants.