Procédure : générer automatiquement un ensemble de filtres de jointure entre des articles de fusion (SQL Server Management Studio)
Générez automatiquement un ensemble de filtres de jointure sur la page Filtrer les lignes de la table de l'Assistant Nouvelle publication ou la page Filtrer les lignes de la boîte de dialogue Propriétés de la publication - <Publication>. Pour plus d'informations sur l'utilisation de cet Assistant et sur l'accès à cette boîte de dialogue, consultez Procédure : créer une publication et définir des articles (SQL Server Management Studio) et Procédure : Affichage et modification des propriétés de l'article et de la publication (SQL Server Management Studio).
[!REMARQUE]
Si vous générez automatiquement un ensemble de filtres de jointure dans la boîte de dialogue Propriétés de la publication - <Publication> une fois les abonnements à la publication initialisés, vous devez générer une nouvelle capture instantanée et réinitialiser tous les abonnements après avoir effectué la modification. Pour plus d'informations sur les conditions requises pour les modifications de propriétés, consultez Modification des propriétés des publications et des articles.
Les filtres de jointure peuvent être créés manuellement pour un ensemble de tables, ou la réplication peut les générer automatiquement en fonction des relations de clé étrangère à clé primaire définies sur les tables. Pour plus d'informations sur la création manuelle de filtres de jointure, consultez Procédure : définir et modifier un filtre de jointure entre des articles de fusion (SQL Server Management Studio).
Pour générer automatiquement un ensemble de filtres de jointure entre articles de fusion
Sur la page Filtrer les lignes de la table de l'Assistant Nouvelle publication ou la page Filtrer les lignes de la boîte de dialogue Propriétés de la publication - <Publication>, cliquez sur Ajouter puis sur Générer automatiquement des filtres.
[!REMARQUE]
La génération automatique de filtres supprime tout filtre de lignes ou de jointure existant dans la publication. Vous pouvez ajouter des filtres après avoir généré automatiquement un ensemble de filtres.
Suivez le processus de la boîte de dialogue Générer des filtres pour créer un filtre de lignes. Le filtre de lignes est ensuite étendu aux tables associées à la table filtrée via les relations de clé primaire et de clé étrangère.
Sélectionnez une table à filtrer dans la zone de liste déroulante.
Créez une instruction de filtrage dans la zone de texte Instruction de filtrage. Vous pouvez taper directement dans l'espace de texte, et faire également un glisser-déplacer de colonnes de la zone de liste Colonnes.
L'espace de texte Instruction de filtrage comporte le texte par défaut qui se présente sous la forme :
SELECT <published_columns> FROM [tableowner].[tablename] WHERE
Il est impossible de modifier le texte par défaut ; tapez la clause de filtre pour un filtre de lignes statiques ou un filtrage des lignes paramétrable après le mot clé WHERE à l'aide de la syntaxe SQL standard. La clause de filtre complète pour un filtrage des lignes paramétrable peut se présenter comme suit :
SELECT <published_columns> FROM [HumanResources].[Employee] WHERE LoginID = SUSER_SNAME()
La clause WHERE doit utiliser un nom en deux parties, les noms en trois et quatre parties ne sont pas pris en charge.
Spécifiez les options de filtre.
Sélectionnez l'option correspondant à la façon dont les données seront partagées parmi les abonnés : Une ligne de cette table ira à plusieurs abonnements or Une ligne de cette table ira à un seul abonement. Si vous sélectionnez Une ligne de cette table ira à plusieurs abonnements, la réplication peut optimiser les performances en stockant et en traitant moins de métadonnées. Cependant, vous devez vous assurer que les données sont partitionnées de telle sorte qu'une ligne ne puisse pas être répliquée sur plus d'un abonné. Pour plus d'informations, consultez la section « Définition des options de partition » dans la rubrique Filtres de lignes paramétrés.
Cliquez sur OK.
Le filtre spécifié est analysé et exécuté sur la table dans la clause SELECT. Si l'instruction de filtrage contient des erreurs de syntaxe ou d'autres problèmes, vous serez prévenu et pourrez modifier l'instruction de filtrage.
Une fois l'instruction analysée, la réplication crée les filtres de jointure nécessaires et les affiche dans le volet Tables filtrées sur la page Filtrer les lignes de la table ou Filtrer les lignes. Si vous générez des filtres à partir de l'Assistant Nouvelle publication et n'avez pas encore configuré le serveur de distribution pour le serveur de publication sur lequel cet Assistant est exécuté, il vous est demandé de le configurer.
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 modifier un filtre généré automatiquement
Sur la page Filtrer les lignes de la table de l'Assistant Nouvelle publication ou la page Filtrer les lignes de la boîte de dialogue Propriétés de la publication - <Publication>, sélectionnez un filtre dans le volet Tables filtrées puis cliquez sur Modifier.
Modifiez le filtre dans la boîte de dialogue Modifier le filtre ou Modifier une jointure.
Cliquez sur OK.
Pour supprimer un filtre généré automatiquement
- Sur la page Filtrer les lignes de la table de l'Assistant Nouvelle publication ou la page Filtrer les lignes de la boîte de dialogue Propriétés de la publication - <Publication>, sélectionnez un filtre dans le volet Tables filtrées puis cliquez sur Supprimer.