sp_changemergefilter (Transact-SQL)
Modifie certaines propriétés du filtre de fusion. Cette procédure stockée est exécutée sur la base de données de publication du serveur de publication.
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. L'argument publication est de type sysname et n'a pas de valeur par défaut.[ @article= ] 'article'
Nom de l'article. L'argument article est de type sysname et n'a pas de valeur par défaut.[ @filtername=] 'filtername'
Nom actuel du filtre. L'argument filtername est de type sysname et n'a pas de 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 pour la propriété spécifiée. value est 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 3.5 SP2.
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
Accepte que l'action exécutée par la procédure stockée puisse invalider une capture instantanée existante. force_invalidate_snapshot est de type bit, avec la valeur par défaut 0.0 spécifie que les modifications de l'article de fusion n'invalident pas la capture instantanée. Si la procédure stockée détecte que la modification ne nécessite pas une nouvelle capture instantanée, une erreur se produit et aucune modification n'est effectuée.
1 indique que les modifications d'un article de fusion peuvent invalider la capture instantanée et, s'il existe des abonnements qui nécessitent une nouvelle capture instantanée, permet le marquage de la capture instantanée comme obsolète et la génération d'une nouvelle capture instantanée.
[ @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. L'argument 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 renvoyés
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 la capture instantanée, si elle 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 Regroupements des 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.