Partager via


sp_changemergepublication (Transact-SQL)

Mis à jour : 12 décembre 2006

Modifie les propriétés d'une publication de fusion. Cette procédure stockée est exécutée sur le serveur de publication dans la base de données de publication.

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

sp_changemergepublication [ @publication= ] 'publication'
    [ , [ @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 et n'a pas de valeur par défaut.
  • [ @property=] 'property'
    Propriété à modifier pour la publication donnée. L'argument property est de type sysname, et peut prendre l'une des valeurs répertoriées dans le tableau.
  • [ @value=] 'value'
    Nouvelle valeur de la propriété spécifiée. L'argument value est de type nvarchar(255), et peut prendre l'une des valeurs répertoriées dans le tableau.

    Le tableau ci-dessous décrit les propriétés modifiables de la publication et les limites liées aux valeurs de ces propriétés.

    Propriété

  • [ @force_invalidate_snapshot = ] force_invalidate_snapshot
    Confirme que l'action entreprise par cette procédure stockée peut invalider une capture instantanée existante. L'argument force_invalidate_snapshot est de type bit, avec 0 comme valeur par défaut.

    0 indique que les modifications apportées à la publication n'entraînent pas l'invalidation de la capture instantanée. Si la procédure stockée détecte que la modification requiert une nouvelle capture instantanée, une erreur se produit et aucune modification n'est effectuée.

    1 indique que les modifications apportées à la publication peuvent entraîner l'invalidation de la capture instantanée. En outre, s'il existe déjà des abonnements nécessitant une nouvelle capture instantanée, cette valeur permet de marquer la capture instantanée existante comme obsolète et de générer une nouvelle capture instantanée.

    Voir la section Remarques pour connaître les propriétés dont la modification nécessite 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 indique que les modifications apportées à la publication n'imposent pas une réinitialisation des abonnements. Si la procédure stockée détecte que la modification requiert la réinitialisation des abonnements existants, une erreur se produit et aucune modification n'est effectuée.

    1 indique que les modifications apportées à la publication entraînent la réinitialisation des abonnements existants et autorise la réinitialisation des abonnements.

    Voir la section Remarques pour connaître les propriétés dont la modification requiert la réinitialisation de tous les abonnements existants.

Valeurs des codes de retour

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

Notes

La procédure sp_changemergepublication est utilisée dans la réplication de fusion.

Les modifications apportées aux propriétés suivantes nécessitent la génération d'une nouvelle capture instantanée et vous devez attribuer la valeur 1 au paramètre force_invalidate_snapshot.

  • alt_snapshot_folder
  • compress_snapshot
  • dynamic_filters
  • ftp_address
  • ftp_login
  • ftp_password
  • ftp_port
  • ftp_subdirectory
  • post_snapshot_script
  • publication_compatibility_level (jusqu'à 80SP3 uniquement)
  • pre_snapshot_script
  • snapshot_in_defaultfolder
  • sync_mode
  • use_partition_groups

Les modifications apportées aux propriétés suivantes nécessitent la réinitialisation des abonnements existants et vous devez attribuer la valeur 1 au paramètre force_reinit_subscription.

  • dynamic_filters
  • validate_subscriber_info

Les objets de publication figurant dans le répertoire Active Directory ne peuvent être affichés à l'aide du paramètre publish_to_active_directory que si l'objet SQL Server est déjà créé dans le répertoire.

Autorisations

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

Exemple

DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge'; 

-- Disable DDL replication for the publication.
USE [AdventureWorks]
EXEC sp_changemergepublication 
  @publication = @publication, 
  @property = N'replicate_ddl', 
  @value = 0,
  @force_invalidate_snapshot = 0, 
  @force_reinit_subscription = 0;
GO

Voir aussi

Référence

sp_addmergepublication (Transact-SQL)
sp_dropmergepublication (Transact-SQL)
sp_helpmergepublication (Transact-SQL)
Procédures stockées de réplication (Transact-SQL)

Autres ressources

How to: View and Modify Publication Properties (Replication Transact-SQL Programming)
Modification des propriétés des publications et des articles

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

12 décembre 2006

Nouveau contenu :
  • Ajout d'informations sur la valeur generation_leveling_threshold.