sp_changemergefilter (Transact-SQL)
S'applique à : SQL Server
Modifie certaines propriétés du filtre de fusion. Cette procédure stockée est exécutée sur le serveur de publication dans la base de données de publication.
Conventions de la syntaxe Transact-SQL
Syntaxe
sp_changemergefilter
[ @publication = ] N'publication'
, [ @article = ] N'article'
, [ @filtername = ] N'filtername'
, [ @property = ] N'property'
, [ @value = ] N'value'
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ ; ]
Arguments
[ @publication = ] N’publication'
Nom de la publication. @publication est sysname, sans valeur par défaut.
[ @article = ] N’article'
Nom de l’article. @article est sysname, sans valeur par défaut.
[ @filtername = ] N’filtername'
Nom actuel du filtre. @filtername est sysname, sans valeur par défaut.
[ @property = ] N’property'
Nom de la propriété à changer. @property est sysname, sans valeur par défaut.
[ @value = ] N’value'
Nouvelle valeur de la propriété spécifiée. @value est nvarchar(1000), sans valeur par défaut.
Le tableau suivant 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 prendre en charge les abonnés SQL Server Compact. |
2 |
Relation d'enregistrement logique. | |
3 |
Un filtre de jointure est également une relation d'enregistrement logique. | |
filtername |
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 n’est pas sur une clé unique. |
[ @force_invalidate_snapshot = ] force_invalidate_snapshot
Reconnaît que l’action effectuée par cette procédure stockée peut invalider un instantané existant. @force_invalidate_snapshot est bit, avec la valeur par défaut 0
.
0
spécifie que les modifications apportées à l’article de fusion n’entraînent pas l’invalidation de l’instantané. Si la procédure stockée détecte que la modification requiert un nouvel instantané, une erreur se produit et aucune modification n'est effectuée.1
signifie que les modifications apportées à l’article de fusion peuvent entraîner l’échec de l’instantané et, s’il existe des abonnements existants qui nécessitent un nouvel instantané, donne l’autorisation de marquer l’instantané existant comme obsolète et un nouvel instantané généré.
[ @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 bit, avec la valeur par défaut 0
.
0
spécifie que les modifications apportées à l’article de fusion n’entraînent 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 apportées à l’article de fusion réinitialisent les abonnements existants et autorisent la réinitialisation de l’abonnement à se produire.
Valeurs des codes de retour
0
(réussite) or 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. Cette opération est effectuée en définissant l '@force_invalidate_snapshot sur 1
. S’il existe des abonnements à cet article, les abonnements doivent être réinitialisés, ce qui est fait en définissant l '@force_reinit_subscription sur 1
.
Pour utiliser des enregistrements logiques, la publication et les articles doivent répondre à plusieurs exigences. 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 db_owner rôle de base de données fixe peuvent s’exécuter sp_changemergefilter
.