Procédure : définir et modifier un filtrage des lignes paramétrable pour un article de fusion (SQL Server Management Studio)

Définissez, modifiez et supprimez des filtrages de lignes paramétrés sur la page Filtrer les lignes de la table de l'Assistant Nouvelle publication ou sur 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 l'Assistant et l'accès à la 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).

ms152518.note(fr-fr,SQL.90).gifRemarque :
Si vous ajoutez, modifiez ou supprimez un filtrage des lignes paramétrable dans la page Propriétés de la publication - <publication> après que les abonnements à la publication aient été 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 des propriétés, consultez Modification des propriétés des publications et des articles.

Pour définir un filtrage des lignes paramétrable

  1. Sur la page Filtrer les lignes de la table de l'Assistant Nouvelle publication ou sur la page Filtrer les lignes de la boîte de dialogue Propriétés de la publication - <publication>, cliquez sur Ajouter, puis cliquez sur Ajouter un filtre.

  2. Dans la boîte de dialogue Ajouter un filtre, sélectionnez une table à filtrer dans la zone de liste déroulante.

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

    • La zone de texte Instruction de filtrage comprend un texte par défaut, qui est de la forme suivante :

      SELECT <published_columns> FROM [tableowner].[tablename] WHERE
      
    • Le texte par défaut ne peut pas être modifié ; tapez la clause du filtre après le mot clé WHERE en utilisant la syntaxe SQL standard. Un filtrage paramétrable comprend un appel à la fonction système HOST_NAME() et/ou SUSER_SNAME(), ou bien une fonction définie par l'utilisateur qui référence une de ces fonctions ou les deux. Voici un exemple de clause de filtrage complète pour un filtrage des lignes paramétrable :

      SELECT <published_columns> FROM [HumanResources].[Employee] WHERE LoginID = SUSER_SNAME()
      

      La clause WHERE doit utiliser un nommage en deux parties ; les nommages en trois et en quatre parties ne sont pas pris en charge.

      ms152518.note(fr-fr,SQL.90).gifImportant :
      Pour des raisons de performances, il est recommandé de ne pas appliquer de fonctions aux noms de colonne dans les clauses de filtrage des lignes paramétrable telles que LEFT([MyColumn]) = SUSER_SNAME(). Si vous utilisez HOST_NAME dans une clause de filtre et que vous remplacez la valeur de HOST_NAME, il peut être nécessaire de convertir les types des données à l'aide de CONVERT. Pour plus d'informations sur les pratiques recommandées pour cette situation, consultez la section « Substitution de la valeur de HOST_NAME() » dans la rubrique Filtres de lignes paramétrés.
  4. Sélectionnez l'option qui correspond aux données qui seront partagées entre des 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.

  5. Cliquez sur OK.

  6. Si vous êtes 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 filtrage des lignes paramétrable

  1. Sur la page Filtrer les lignes de la table de l'Assistant Nouvelle publication ou sur 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. Dans la boîte de dialogue Modifier le filtre, modifiez le filtre.

  3. Cliquez sur OK.

Pour supprimer un filtrage des lignes paramétrable

  1. Sur la page Filtrer les lignes de la table de l'Assistant Nouvelle publication ou sur 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

Autres ressources

How to: Define and Modify a Parameterized Row Filter for a Merge Article (Replication Transact-SQL Programming)

Aide et Informations

Assistance sur SQL Server 2005