Procédure : optimiser le filtrage des lignes paramétrable (programmation Transact-SQL de la réplication)

Lorsque vous utilisez des filtres paramétrables, vous pouvez contrôler le traitement de ces filtres par la réplication de fusion en spécifiant l'option use partition groups ou l'option keep partition changes au moment de la création d'une publication. Ces options améliorent les performances de la synchronisation des publications avec articles filtrés en stockant des métadonnées supplémentaires dans la base de données de publication. Vous pouvez contrôler le partage des données entre les Abonnés en définissant partition options au moment de la création d'un article.

Pour plus d'informations sur ces spécifications, consultez Filtres de lignes paramétrés. Pour connaître la définition des options de filtrage @keep_partition_changes et @use_partition_groups, consultez sp_addmergepublication.

Pour spécifier des optimisations du filtre de fusion au moment de la création d'une publication

  1. Dans la base de données de publication sur le serveur de publication, exécutez sp_addmergepublication. Spécifiez @publication et affectez la valeur true à l'un des paramètres suivants :

  2. Ajoutez un travail de capture instantanée pour la publication. Pour plus d'informations, consultez Procédure : créer une publication (programmation Transact-SQL de la réplication).

  3. Dans la base de données de publication sur le serveur de publication, exécutez sp_addmergearticle, en spécifiant les paramètres suivants :

    • @publication - nom de la publication de l'étape 1

    • @article - nom de l'article

    • @source_object - objet de base de données qui est publié

    • @subset_filterclause - clause de filtre paramétrable facultative utilisée pour filtrer horizontalement l'article

    • @partition_options - options de partition pour l'article filtré

  4. Répétez l'étape 3 pour chaque article de la publication.

  5. (Facultatif) Dans la base de données de publication sur le serveur de publication, exécutez sp_addmergefilter pour définir un filtre de jointure entre deux articles. Pour plus d'informations, consultez Procédure : définir et modifier un filtre de jointure entre des articles de fusion (programmation Transact-SQL de la réplication).

Pour afficher et modifier les comportements de filtre de fusion d'une publication existante

  1. (Facultatif) Dans la base de données de publication sur le serveur de publication, exécutez sp_helpmergepublication, en spécifiant @publication. Notez la valeur de keep_partition_changes et use_partition_groups dans le jeu de résultats.

  2. (Facultatif) Dans la base de données de publication sur le serveur de publication, exécutez sp_changemergepublication. Affectez la valeur use_partition_groups à @property et la valeur true ou false à @value.

  3. (Facultatif) Dans la base de données de publication sur le serveur de publication, exécutez sp_changemergepublication. Affectez la valeur keep_partition_changes à @property et la valeur true ou false à @value.

    [!REMARQUE]

    Si vous activez keep_partition_changes, vous devez commencer par désactiver use_partition_groups et affecter la valeur 1 à @force_reinit_subscription.

  4. (Facultatif) Dans la base de données de publication sur le serveur de publication, exécutez sp_changemergearticle. Affectez la valeur partition_options à @property et la valeur appropriée à @value. Pour connaître la définition de ces options de filtrage, consultez sp_addmergearticle.

  5. (Facultatif) Lancez l'Agent de capture instantanée afin de régénérer la capture instantanée si nécessaire. Pour plus d'informations sur les modifications qui requièrent une nouvelle capture instantanée, consultez Modification des propriétés des publications et des articles.