Optimiser les filtres de lignes paramétrables
Cette rubrique explique comment optimiser les filtres de lignes paramétrables dans SQL Server 2012 à l'aide de SQL Server Management Studio ou de Transact-SQL.
Dans cette rubrique
Avant de commencer :
Recommandations
Pour optimiser les filtres de lignes paramétrables à l'aide de :
SQL Server Management Studio
Transact-SQL
Avant de commencer
Recommandations
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.
Avec les abonnés SQL Server Compact de SQL Server Compact, keep_partition_changes doit avoir la valeur true afin que les suppressions soient correctement propagées. Lorsque la valeur est false, l'abonné peut avoir plus de lignes que prévu.
[Top]
Utilisation de SQL Server Management Studio
Les paramètres suivants permettent d'optimiser les filtres de lignes paramétrés :
Options de la partition
Définissez cette option dans la page Propriétés de la boîte de dialogue Propriétés de l'article - <Article>, ou dans la boîte de dialogue Ajouter un filtre. Ces deux boîtes de dialogue sont disponibles dans l'Assistant Nouvelle publication et dans la boîte de dialogue Propriétés de la publication - <Publication>. La boîte de dialogue Propriétés de l'article - <Article> vous permet de spécifier pour cette option d'autres valeurs qui ne sont pas disponibles dans la boîte de dialogue Ajouter un filtre.Précalculer les partitions
Par défaut, cette option est définie à True si les articles de votre publication satisfont à un ensemble de conditions. Pour plus d'informations sur ces spécifications, consultez Optimiser les performances des filtres paramétrés avec des partitions précalculées. Modifiez cette option dans la page Options d'abonnement de la boîte de dialogue Propriétés de la publication - <Publication>.Optimiser la synchronisation
Cette option ne doit être définie à True que si Précalculer les partitions est défini à False. Définissez cette option dans la page Options d'abonnement de la boîte de dialogue Propriétés de la publication - <Publication>.
Pour plus d'informations sur l'utilisation de l'Assistant Nouvelle publication et sur l'accès à la boîte de dialogue Propriétés de la publication - <Publication>, consultez Créer une publication et Afficher et modifier les propriétés d'une publication.
Pour définir les options de la partition dans la boîte de dialogue Ajouter un filtre ou Modifier le filtre
Dans la page Filtrer les lignes de la table de l'Assistant Nouvelle publication ou dans la page Filtrer les lignes de la boîte de dialogue Propriétés de la publication - <Publication>, cliquez sur Ajouter, puis sur Ajouter un filtre.
Créer un filtre paramétré. Pour plus d'informations, consultez Définir et modifier un filtre de lignes paramétrable pour un article de fusion.
Sélectionnez l'option adaptée à la façon dont les données seront partagées entre les Abonnés :
Une ligne de cette table ira à plusieurs abonnements
Filtre paramétré créant des partitions qui ne se chevauchent pas, avec un seul abonnement par partition
Si vous sélectionnez Filtre paramétré créant des partitions qui ne se chevauchent pas, avec un seul abonnement par partition, la réplication de fusion peut optimiser les performances en stockant et en traitant moins de métadonnées. Cependant, vous devez vérifier que les données sont partitionnées de telle façon qu'une ligne ne peut pas être répliquée sur plus d'un Abonné. Pour plus d'informations, consultez la section « Définition de « partition options » » dans la rubrique Filtres de lignes paramétrés.
Cliquez sur OK.
Si vous vous trouvez dans la boîte de dialogue Propriétés de la publication - <Publication>, cliquez sur OK pour enregistrer et fermer la boîte de dialogue.
Pour définir Options de la partition dans la boîte de dialogue Propriétés de l'article - <Article>
Dans la page Article de l'Assistant Nouvelle publication ou dans la boîte de dialogue Propriétés de la publication- <Publication>, sélectionnez une table, puis cliquez sur Propriétés de l'article.
Cliquez sur Définir les propriétés de l'article de la table en surbrillance ou Définir les propriétés de tous les articles de la table.
Dans la section Objet de destination de l'onglet Propriétés de la boîte de dialogue Propriétés de l'article - <Article>, spécifiez l'une des valeurs suivantes pour Options de la partition :
Chevauchement
Chevauchement ; refus des modifications de données hors partition
Non-chevauchement ; abonnement unique
Non-chevauchement ; partage entre les abonnements
Pour plus d'informations sur ces options et sur leurs liens avec les options disponibles dans les boîtes de dialogue Ajouter un filtre et Modifier le filtre, consultez la section relative à la définition de la propriété « partition options » dans la rubrique Filtres de lignes paramétrés.
Cliquez sur OK.
Si vous vous trouvez dans la boîte de dialogue Propriétés de la publication - <Publication>, cliquez sur OK pour enregistrer et fermer la boîte de dialogue.
Pour définir Précalculer les partitions
Dans la page Options d'abonnement de la boîte de dialogue Propriétés de la publication - <Publication>, sélectionnez une valeur pour l'option Précalculer les partitions. Cette propriété est en lecture seule si :
La publication ne satisfait pas aux conditions requises pour les partitions précalculées.
Aucun instantané n'a encore été généré pour la publication. Dans ce cas, l'option affiche la valeur Définir automatiquement lorsqu'un instantané est créé.
Cliquez sur OK.
Pour définir Optimiser la synchronisation
Dans la page Options d'abonnement de la boîte de dialogue Propriétés de la publication - <Publication>, sélectionnez la valeur True pour l'option Optimiser la synchronisation.
Cliquez sur OK.
[Top]
Utilisation de Transact-SQL
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
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 :
@use_partition_groups - optimisation maximale des performances, à condition que les articles soient conformes aux spécifications pour les partitions précalculées. Pour plus d'informations, consultez Optimiser les performances des filtres paramétrés avec des partitions précalculées.
@keep_partition_changes - utilisez cette optimisation si les partitions précalculées ne peuvent pas être utilisées.
Ajoutez un travail d'instantané pour la publication. Pour plus d'informations, consultez Créer une publication.
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é
Répétez l'étape 3 pour chaque article de la publication.
(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 Définir et modifier un filtre de jointure entre des articles de fusion.
Pour afficher et modifier les comportements de filtre de fusion d'une publication existante
(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.
(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.
(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.
(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.
(Facultatif) Lancez l'Agent d'instantané afin de régénérer l'instantané si nécessaire. Pour plus d'informations sur les modifications qui requièrent un nouvel instantané, consultez Modifier les propriétés des publications et des articles.
[Top]
Voir aussi
Tâches
Concepts
Définir et modifier un filtre de lignes paramétrable pour un article de fusion