Partager via


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 Créer une publication et Afficher et modifier les propriétés d'une publication.

[!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 un nouvel instantané et réinitialiser tous les abonnements après avoir effectué la modification. Pour plus d'informations sur les conditions requises pour les modifications des propriétés, consultez Modifier les 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 Définir et modifier un filtre de jointure entre des articles de fusion.

Pour générer automatiquement un ensemble de filtres de jointure entre articles de fusion

  1. 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.

  2. 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.

    1. Sélectionnez une table à filtrer dans la zone de liste déroulante.

    2. Créez une instruction de filtrage dans la zone de texte Instruction de filtrage. Vous pouvez taper directement dans la zone de texte, mais vous pouvez aussi faire glisser et déposer des colonnes depuis 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 filtre de 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.

    3. 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 ou Une ligne de cette table ira à un seul abonnement. 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 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 des options de partition » dans la rubrique Filtres de lignes paramétrés.

  3. Cliquez sur OK.

    Le filtre spécifié est analysé et exécuté sur la table dans la clause SELECT. Si l'instruction de filtrage contenait des erreurs de syntaxe ou rencontrait tout autre problème, vous en serez alors informé pour vous donner la possibilité de 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.

  4. 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

  1. 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.

  2. Modifiez le filtre dans la boîte de dialogue Modifier le filtre ou Modifier une jointure.

  3. 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.

Voir aussi

Concepts

Filtres de jointure

Filtres de lignes paramétrés