Partager via


sp_changemergefilter (Transact-SQL)

Modifie certaines propriétés du filtre de fusion. Cette procédure stockée est exécutée au niveau du serveur de publication sur la base de données de publication.

Icône Lien de rubrique Conventions de la syntaxe de Transact-SQL

Syntaxe

sp_changemergefilter [ @publication= ] 'publication' 
        , [ @article= ] 'article' 
        , [ @filtername= ] 'filtername' 
        , [ @property= ] 'property' 
        , [ @value= ] 'value'
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]

Arguments

  • [ @publication= ] 'publication'
    Nom de la publication. publication est de type sysname, sans valeur par défaut.

  • [ @article= ] 'article'
    Nom de l'article. article est de type sysname, sans valeur par défaut.

  • [ @filtername= ] 'filtername'
    Nom actuel du filtre. filtername est de type sysname, sans valeur par défaut.

  • [ @property= ] 'property'
    Nom de la propriété à modifier. property est de type sysname, sans valeur par défaut.

  • [ @value=] 'value'
    Nouvelle valeur de la propriété spécifiée. valueest de type nvarchar(1000), sans valeur par défaut.

    Le tableau ci-dessous décrit les propriétés des articles et les valeurs de ces propriétés.

    Propriété

    Valeur

    Description

    filter_type

    1

    Filtre de jointure.

    Cette option est nécessaire pour la prise en charge d'Abonnés SQL Server Compact.

     

    2

    Relation d'enregistrement logique.

     

    3

    Un filtre de jointure est également une relation d'enregistrement logique.

    filtrename

     

    Nom du filtre.

    join_articlename

     

    Nom de l'article de jointure.

    join_filterclause

     

    Clause Filtre.

    join_unique_key

    true

    La jointure se fait sur une clé unique.

     

    false

    La jointure ne se fait pas sur une clé unique.

  • [ @force_invalidate_snapshot = ] force_invalidate_snapshot
    Signale que l'action entreprise par cette procédure stockée peut invalider un instantané existant. force_invalidate_snapshot est de type bit, avec 0 comme valeur par défaut.

    0 spécifie que les modifications de l'article de fusion n'invalident pas l'instantané. Si la procédure stockée détecte que la modification ne nécessite pas un nouvel instantané, une erreur se produit et aucune modification n'est effectuée.

    1 indique que les modifications d'un article de fusion peuvent invalider l'instantané et, s'il existe des abonnements qui nécessitent un nouvel instantané, permet le marquage de l'instantané comme obsolète et la génération d'un nouvel instantané.

  • [ @force_reinit_subscription = ] force_reinit_subscription
    Confirme que l'action entreprise par cette procédure stockée peut nécessiter la réinitialisation des abonnements existants. force_reinit_subscription est de type bit, avec 0 comme valeur par défaut.

    0 spécifie que les modifications de l'article de fusion ne provoquent pas la réinitialisation de l'abonnement. Si la procédure stockée détecte que la modification nécessite la réinitialisation des abonnements existants, une erreur se produit et aucune modification n'est effectuée.

    1 signifie que les modifications de l'article de fusion peuvent provoquer la réinitialisation des abonnements existants et autorise la réinitialisation des abonnements.

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Notes

sp_changemergefilter est utilisé dans la réplication de fusion.

La modification d'un filtre sur un article de fusion nécessite de recréer l'instantané, s'il existe. Pour cela, affectez la valeur 1 à @force_invalidate_snapshot. De même, s'il existe des abonnements à cet article, les abonnements doivent être réinitialisés. Pour cela, affectez la valeur 1 à @force_reinit_subscription.

Pour utiliser des enregistrements logiques, la publication et les articles doivent répondre à certaines conditions. Pour plus d'informations, consultez Regrouper les modifications apportées à des lignes connexes à l'aide d'enregistrements logiques.

Autorisations

Seuls les membres du rôle serveur fixe sysadmin ou du rôle de base de données fixe db_owner peuvent exécuter sp_changemergefilter.

Voir aussi

Référence

sp_addmergefilter (Transact-SQL)

sp_dropmergefilter (Transact-SQL)

sp_helpmergefilter (Transact-SQL)

Procédures stockées système (Transact-SQL)

Concepts

Modifier les propriétés des publications et des articles