sp_changemergepublication (Transact-SQL)sp_changemergepublication (Transact-SQL)

S’APPLIQUE À : ouiSQL Server nonAzure SQL Database nonAzure Synapse Analytics (SQL DW) nonParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Modifie les propriétés d'une publication de fusion.Changes the properties of a merge publication. Cette procédure stockée est exécutée sur le serveur de publication dans la base de données de publication.This stored procedure is executed at the Publisher on the publication database.

Icône du lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

  
sp_changemergepublication [ @publication= ] 'publication'  
    [ , [ @property= ] 'property' ]  
    [ , [ @value= ] 'value' ]  
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]  
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]  

ArgumentsArguments

[ @publication = ] 'publication'Nom de la publication.[ @publication = ] 'publication' The name of the publication. publication est de type sysname, sans valeur par défaut.publication is sysname, with no default.

[ @property = ] 'property'Propriété à modifier pour la publication donnée.[ @property = ] 'property' The property to change for the given publication. Property est de type sysnameet peut prendre l’une des valeurs indiquées dans le tableau qui suit.property is sysname, and can be one of the values listed in the table that follows.

[ @value = ] 'value'Nouvelle valeur de la propriété spécifiée.[ @value = ] 'value' The new value for the specified property. la valeur est de type nvarchar (255) et peut prendre l’une des valeurs indiquées dans le tableau suivant.value is nvarchar(255), and can be one of the values listed in the table that follows.

Le tableau ci-dessous décrit les propriétés modifiables de la publication ainsi que les limites liées aux valeurs de ces propriétés.This table describes the properties of the publication that can be changed, and describes restrictions on the values for those properties.

PropriétéProperty ValeurValue DescriptionDescription
allow_anonymousallow_anonymous :true Les abonnements anonymes sont autorisés.Anonymous subscriptions are allowed.
faussesfalse Les abonnements anonymes ne sont pas autorisés.Anonymous subscriptions are not allowed.
allow_partition_realignmentallow_partition_realignment :true Les opérations de suppression sont envoyées à l'Abonné pour refléter les résultats d'une modification de partition en supprimant des données qui ne font plus partie de la partition de l'Abonné.Deletes are sent to the Subscriber to reflect the results of a partition change by removing data that is no longer part of the Subscriber's partition. Il s'agit du comportement par défaut.This is the default behavior.
faussesfalse Les données d'une ancienne partition demeurent sur l'Abonné : les modifications apportées à ces données sur le serveur de publication ne sont pas répliquées sur l'Abonné.Data from an old partition is left on the Subscriber, where changes made to this data on the Publisher do not replicate to this Subscriber. À la place, les modifications apportées à l'Abonné sont répliquées vers le serveur de publication.Instead, changes that are made on the Subscriber replicate to the Publisher. Cela permet de conserver dans un abonnement des données issues d'une ancienne partition afin qu'elles soient accessibles à des fins d'historique.This is used to retain data in a subscription from an old partition when the data has to be accessible for historical purposes.
allow_pullallow_pull :true Les abonnements par extraction de données (pull) sont autorisés pour la publication concernée.Pull subscriptions are allowed for the given publication.
faussesfalse Les abonnements par extraction de données (pull) sont pas autorisés pour la publication concernée.Pull subscriptions are not allowed for the given publication.
allow_pushallow_push :true Les abonnements par envoi de données (push) sont autorisés pour la publication concernée.Push subscriptions are allowed for the given publication.
faussesfalse Les abonnements par envoi de données (push) ne sont pas autorisés pour la publication concernée.Push subscriptions are not allowed for the given publication.
allow_subscriber_initiated_snapshotallow_subscriber_initiated_snapshot :true L'Abonné peut initier le processus d'instantané.Subscriber can initiate the snapshot process.
faussesfalse L'Abonné ne peut pas initier le processus d'instantané.Subscriber cannot initiate the snapshot process.
allow_subscription_copyallow_subscription_copy :true Vous pouvez copier les bases de données d'abonnement qui sont abonnées à la publication.You can copy the subscription databases that subscribe to this publication.
faussesfalse Vous ne pouvez pas copier les bases de données d'abonnement qui sont abonnées à la publication.You cannot copy the subscription databases that subscribe to this publication.
allow_synctoalternateallow_synctoalternate :true Permet à un serveur partenaire de synchronisation différent de se synchroniser avec le serveur de publication.Allows an alternative synchronization partner to synchronize with this Publisher.
faussesfalse Ne permet pas à un serveur partenaire de synchronisation différent de se synchroniser avec le serveur de publication.Does not allow an alternative synchronization partner to synchronize with this Publisher.
allow_web_synchronizationallow_web_synchronization :true Les abonnements peuvent être synchronisés via HTTPS.Subscriptions can be synchronized over HTTPS.
faussesfalse Les abonnements ne peuvent pas être synchronisés via HTTPS.Subscriptions cannot be synchronized over HTTPS.
alt_snapshot_folderalt_snapshot_folder Spécifie l'emplacement de l'autre dossier de l'instantané.Specifies the location of the alternative folder for the snapshot.
automatic_reinitialization_policyautomatic_reinitialization_policy 11 Les modifications sont téléchargées depuis l'Abonné avant que l'abonnement ne soit réinitialisé.Changes are uploaded from the Subscriber before the subscription is reinitialized.
00 L'abonnement est réinitialisé sans téléchargement préalable des modifications.The subscription is reinitialized without first uploading changes.
centralized_conflictscentralized_conflicts :true Tous les enregistrements en conflit sont stockés sur le serveur de publication.All conflict records are stored at the Publisher. Vous devez réinitialiser les abonnés existants si vous modifiez cette propriété.If you change this property, existing Subscribers must be reinitialized.
faussesfalse Les enregistrements en conflit sont stockés sur le serveur qui est sorti perdant de la résolution du conflit.Conflict records are stored at the server that lost in the conflict resolution. Vous devez réinitialiser les abonnés existants si vous modifiez cette propriété.If you change this property, existing Subscribers must be reinitialized.
compress_snapshotcompress_snapshot :true L'instantané se trouvant dans un dossier d'instantané de remplacement est compressé au format CAB.Snapshot in an alternative snapshot folder is compressed into the CAB format. L'instantané se trouvant dans le dossier d'instantané par défaut ne peut pas être compressé.The snapshot in the default snapshot folder cannot be compressed. La modification de cette propriété requiert un nouvel instantané.Changing this property requires a new snapshot.
faussesfalse L'instantané n'est pas compressé par défaut.By default, the snapshot is not compressed. La modification de cette propriété requiert un nouvel instantané.Changing this property requires a new snapshot.
conflict_loggingconflict_logging publicationpublisher Les enregistrements en conflit sont stockés sur le serveur de publication.Conflict records are stored at the Publisher.
côtésubscriber Les enregistrements en conflit sont stockés dans l'Abonné à l'origine du conflit.Conflict records are stored at the Subscriber that caused the conflict. Non pris en SQL Server CompactSQL Server Compact charge pour les abonnés .Not supported for SQL Server CompactSQL Server Compact Subscribers .
versionsboth Les enregistrements en conflit sont stockés dans le serveur de publication et l'Abonné.Conflict records are stored at both the Publisher and Subscriber.
conflict_retentionconflict_retention Entier qui spécifie la période de rétention, en jours, pendant laquelle les conflits sont conservés.An int that specifies the retention period, in days, for which conflicts are retained. La définition de conflict_retention sur 0 signifie qu’aucun nettoyage de conflit n’est nécessaire.Setting conflict_retention to 0 means no conflict cleanup is needed.
descriptiondescription Description de la publication.Description of the publication.
dynamic_filtersdynamic_filters :true La publication est filtrée sur une clause dynamique.Publication is filtered based on a dynamic clause.
faussesfalse La publication n'est pas filtrée dynamiquement.Publication is not filtered dynamically.
enabled_for_internetenabled_for_internet :true La publication est activée pour Internet.Publication is enabled for the Internet. Le protocole FTP (File Transfer Protocol) peut être utilisé pour le transfert des fichiers d'instantané vers un Abonné.File Transfer Protocol (FTP) can be used to transfer the snapshot files to a Subscriber. Les fichiers de synchronisation de la publication sont placés dans le répertoire C:\Program Files\Microsoft SQL Server\MSSQL\Repldata\ftp.The synchronization files for the publication are put into the C:\Program Files\Microsoft SQL Server\MSSQL\Repldata\ftp directory.
faussesfalse La publication n'est pas activée pour Internet.Publication is not enabled for the Internet.
ftp_addressftp_address Adresse réseau du service FTP du serveur de distribution.The network address of the FTP service for the Distributor. Indique l'emplacement de stockage des fichiers d'instantané de la publication.Specifies where publication snapshot files are stored.
ftp_loginftp_login Nom d’utilisateur utilisé pour se connecter au service FTP.The user name that is used to connect to the FTP service.
ftp_passwordftp_password Mot de passe utilisateur utilisé pour la connexion au service FTP.The user password that is used to connect to the FTP service.
ftp_portftp_port Numéro de port du service FTP du serveur de distribution.The port number of the FTP service for the Distributor. Indique le numéro de port TCP du site FTP où sont stockés les fichiers d'instantané de la publication.Specifies the TCP port number of the FTP site where the publication snapshot files are stored.
ftp_subdirectoryftp_subdirectory Indique l'emplacement où sont créés les fichiers d'instantanés si la publication prend en charge la propagation d'instantanés par FTP.Specifies where the snapshot files are created if the publication supports propagating snapshots by using FTP.
generation_leveling_thresholdgeneration_leveling_threshold intint Spécifie le nombre de modifications contenues dans une génération.Specifies the number of changes that are contained in a generation. Une génération est une collection de modifications remises à un serveur de publication ou à un Abonné.A generation is a collection of changes that are delivered to a Publisher or Subscriber.
keep_partition_changeskeep_partition_changes :true La synchronisation est optimisée et seuls les abonnés qui détiennent des lignes dans les partitions modifiées sont concernés.Synchronization is optimized, and only Subscribers that have rows in the changed partitions are affected. La modification de cette propriété requiert un nouvel instantané.Changing this property requires a new snapshot.
faussesfalse La synchronisation n'est pas optimisée et les partitions envoyées à tous les abonnés seront vérifiées lors de la modification de leurs données.Synchronization is not optimized, and the partitions that are sent to Subscribers are verified when data changes in a partition. La modification de cette propriété requiert un nouvel instantané.Changing this property requires a new snapshot.
max_concurrent_mergemax_concurrent_merge Il s’agit d’un entier qui représente le nombre maximal de processus de fusion simultanés qui peuvent être exécutés sur une publication.This is an int that represents the maximum number of concurrent merge processes that can be run against a publication. Si ce nombre est 0, il n'y a pas de limite. Si ce nombre est supérieur au nombre planifié de processus de fusion à exécuter simultanément, les travaux en trop sont placés dans une file d'attente jusqu'à ce qu'un processus de fusion en cours d'exécution s'achève.If 0, there is no limit.If more than this number of merge processes are scheduled to run at the same time, the excess jobs are put into a queue until a currentlmerge process finishes.
max_concurrent_dynamic_snapshotsmax_concurrent_dynamic_snapshots Il s’agit d’un entier qui représente le nombre maximal de sessions d’instantané pour générer un instantané de données filtrées qui peut s’exécuter simultanément sur une publication de fusion qui utilise des filtres de lignes paramétrables.This is an int that represents the maximum number of snapshot sessions to generate a filtered data snapshot that can concurrently run against a merge publication that uses parameterized row filters. Si la valeur est 0, il n’y a aucune limite.If 0, there is no limit. Si ce nombre est supérieur au nombre planifié de processus d'instantané à exécuter simultanément, les travaux en trop sont placés dans une file d'attente jusqu'à ce qu'un processus de fusion en cours d'exécution s'achève.If more than this number of snapshot processes are scheduled to run at the same time, the excess jobs are put into a queue until a current merge process finishes.
post_snapshot_scriptpost_snapshot_script Spécifie un pointeur vers un emplacement de fichier . SQL .Specifies a pointer to an .sql file location. L'Agent de distribution ou de fusion exécute le script de post-instantané après que tous les autres scripts d'objets et données répliqués ont été appliqués lors d'une synchronisation initiale.The Distribution Agent or Merge Agent runs the post-snapshot script after all the other replicated object scripts and data have been applied during an initial synchronization. La modification de cette propriété requiert un nouvel instantané.Changing this property requires a new snapshot.
pre_snapshot_scriptpre_snapshot_script Spécifie un pointeur vers un emplacement de fichier . SQL .Specifies a pointer to an .sql file location. L'Agent de fusion exécute le script de pré-instantané avant tous les scripts d'objets répliqués, lors de l'application d'un instantané chez un abonné.The Merge Agent runs the pre-snapshot script before any of the replicated object scripts when applying a snapshot at a Subscriber. La modification de cette propriété requiert un nouvel instantané.Changing this property requires a new snapshot.
publication_compatibility_levelpublication_compatibility_level 100RTM100RTM SQL Server 2008SQL Server 2008
90RTM90RTM SQL Server 2005 (9.x)SQL Server 2005 (9.x)
publish_to_activedirectorypublish_to_activedirectory :true Ce paramètre est déconseillé et il n'est pris en charge que pour la compatibilité descendante des scripts.This parameter has been deprecated and is only supported for the backward compatibility of scripts. Vous ne pouvez plus ajouter d'informations de publication dans Active Directory.You can no longer add publication information to Active Directory.
faussesfalse Supprime les informations de publication d'Active Directory.Removes the publication information from Active Directory.
replicate_ddlreplicate_ddl 11 Les instructions DDL (Data Definition Language) exécutées sur le serveur de publication sont répliquées.Data Definition Language (DDL) statements that are executed at the Publisher are replicated.
00 Les instructions DDL ne sont pas répliquées.DDL statements are not replicated.
fixationretention Il s’agit d’un entier qui représente le nombre d’unités de retention_period_unit pour lesquelles enregistrer les modifications pour la publication donnée.This is an int that represents the number of retention_period_unit units for which to save changes for the given publication. L'abonnement expire et doit être réinitialisé s'il n'est pas synchronisé pendant la période de rétention et que les modifications en attente qu'il aurait dû recevoir ont été supprimées par une opération de nettoyage sur le serveur de distribution.If the subscription is not synchronized within the retention period, and the pending changes it would have received have been removed by a clean-up operation at the Distributor, the subscription expires and must be reinitialized. La période de rétention maximale autorisée correspond au nombre de jours entre la date actuelle et le 31 décembre 9999.The maximum allowable retention period is the number of days between December 31, 9999, and the current date.

Remarque : la période de rétention pour les publications de fusion dispose d’une période de grâce de 24 heures pour gérer les abonnés dans différents fuseaux horaires.Note: The retention period for merge publications has a 24 hour grace period to accommodate Subscribers in different time zones.
retention_period_unitretention_period_unit dayday La période de rétention est spécifiée en jours.Retention period is specified in days.
weekweek La période de rétention est spécifiée en semaines.Retention period is specified in weeks.
monthmonth La période de rétention est spécifiée en mois.Retention period is specified in months.
yearyear La période de rétention est spécifiée en années.Retention period is specified in years.
snapshot_in_defaultfoldersnapshot_in_defaultfolder :true Les fichiers d'instantané sont stockés dans le dossier d'instantané par défaut.Snapshot files are stored in the default snapshot folder.
faussesfalse Les fichiers d’instantanés sont stockés dans l’autre emplacement spécifié par alt_snapshot_folder.Snapshot files are stored in the alternative location that is specified by alt_snapshot_folder. Cette combinaison indique que les fichiers d'instantané sont stockés dans les emplacements par défaut et de remplacement.This combination specifies that the snapshot files are stored in both the default and alternative locations.
snapshot_readysnapshot_ready :true L'instantané de la publication est disponible.Snapshot for the publication is available.
faussesfalse L'instantané de la publication n'est pas disponible.Snapshot for the publication is not available.
statustatus proactiveactive La publication est dans un état actif.Publication is in an active state.
inactiveinactive La publication est dans un état inactif.Publication is in an inactive state.
sync_modesync_mode natif ounative or

BCP natifbcp native
La sortie programme de la copie en bloc en mode natif de toutes les tables est utilisée pour l'instantané initial.Native-mode bulk-copy program output of all tables is used for the initial snapshot.
symbolecharacter

ou caractère BCPor bcp character
La sortie programme de la copie en bloc en mode caractère de toutes les tables est utilisée pour l'instantané initial, ce qui est requis pour tous les Abonnés non SQL ServerSQL Server.Character-mode bulk-copy program output of all tables is used for the initial snapshot, which is required for all non-SQL ServerSQL Server Subscribers.
use_partition_groupsuse_partition_groups

Remarque : après avoir utilisé partition_groups, si vous souhaitez revenir à l’utilisation de « SetupBelongs » et que vous définissez use_partition_groups = false dans changemergearticle, cela peut ne pas être reflété correctement après la prise d’un instantané.Note: After using partition_groups, if you to revert to using setupbelongs, and set use_partition_groups=false in changemergearticle, this might not be correctly reflected after a snapshot is taken. Les déclencheurs générés par l'instantané sont conformes avec les groupes de partition.The triggers that are generated by snapshot are compliant with partition groups.

La solution de contournement de ce scénario consiste à définir l’État sur inactif, à modifier le use_partition_groups, puis à définir l’État sur actif.The workaround to this scenario is to set the status to Inactive, modify the use_partition_groups, and then set status to Active.
:true La publication utilise des partitions précalculées.Publication uses precomputed partitions.
faussesfalse La publication n'utilise pas de partitions précalculées.Publication does not use precomputed partitions.
validate_subscriber_infovalidate_subscriber_info Répertorie les fonctions utilisées pour extraire des informations d'Abonné.Lists the functions that are being used to retrieve Subscriber information. Puis, valide les critères de filtrage dynamiques utilisés pour l'Abonné pour vérifier que les informations sont partitionnées régulièrement.Then, validates the dynamic filtering criteria that is being used for the Subscriber to verify that the information is partitioned consistently.
web_synchronization_urlweb_synchronization_url Valeur par défaut de l'URL Internet utilisée pour la synchronisation Web.Default value of the Internet URL used for Web synchronization.
NULL (par défaut)NULL (default) Retourne la liste des valeurs prises en charge pour la propriété.Returns the list of supported values for property.

[ @force_invalidate_snapshot = ] force_invalidate_snapshotConfirme que l’action entreprise par cette procédure stockée peut invalider un instantané existant.[ @force_invalidate_snapshot = ] force_invalidate_snapshot Acknowledges that the action taken by this stored procedure might invalidate an existing snapshot. force_invalidate_snapshot est un bit, avec 0comme valeur par défaut.force_invalidate_snapshot is a bit, with a default of 0.

0 indique que la modification de la publication n’invalide pas l’instantané.0 specifies that changing the publication does not invalidate the snapshot. 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.If the stored procedure detects that the change does require a new snapshot, an error occurs and no changes are made.

1 indique que la modification de la publication peut entraîner l’instantané.1 specifies that changing the publication might invvalidate the snapshot. S’il existe des abonnements qui nécessitent un nouvel instantané, accorde l’autorisation de marquer l’instantané existant comme obsolète et de générer un nouvel instantané.If there are existing subscriptions that would require a new snapshot, gives permission for the existing snapshot to be marked as obsolete and for a new snapshot to be generated.

Consultez la section Notes pour connaître les propriétés qui, une fois modifiées, nécessitent la génération d’un nouvel instantané.See the Remarks section for the properties that, when changed, require a new snapshot to be generated.

[ @force_reinit_subscription = ] force_reinit_subscriptionConfirme que l’action entreprise par cette procédure stockée peut nécessiter la réinitialisation des abonnements existants.[ @force_reinit_subscription = ] force_reinit_subscription Acknowledges that the action taken by this stored procedure might require existing subscriptions to be reinitialized. force_reinit_subscription est un bit avec 0comme valeur par défaut.force_reinit_subscription is a bit with a default of 0.

0 indique que la modification de la publication ne nécessite pas la réinitialisation des abonnements.0 specifies that changing the publication does not require that subscriptions be reinitialized. 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.If the stored procedure detects that the change would require existing subscriptions to be reinitialized, an error occurs and no changes are made.

1 indique que la modification de la publication entraîne la réinitialisation des abonnements existants et autorise la réinitialisation de l’abonnement.1 specifies that changing the publication causes existing subscriptions to be reinitialized, and gives permission for the subscription reinitialization to occur.

Voir la section Remarques pour connaître les propriétés dont la modification requiert la réinitialisation de tous les abonnements existants.See the Remarks section for the properties that, when changed, require that all existing subscriptions be reinitialized.

Codet de retourReturn Code Values

0 (succès) ou 1 (échec)0 (success) or 1 (failure)

NotesRemarks

sp_changemergepublication est utilisé dans la réplication de fusion.sp_changemergepublication is used in merge replication.

La modification des propriétés suivantes requiert qu'un nouvel instantané soit généré.Changing the following properties requires that a new snapshot be generated. Vous devez spécifier la valeur 1 pour le paramètre force_invalidate_snapshot .You must specify a value of 1 for the force_invalidate_snapshot parameter.

  • alt_snapshot_folderalt_snapshot_folder

  • compress_snapshotcompress_snapshot

  • dynamic_filtersdynamic_filters

  • ftp_addressftp_address

  • ftp_loginftp_login

  • ftp_passwordftp_password

  • ftp_portftp_port

  • ftp_subdirectoryftp_subdirectory

  • post_snapshot_scriptpost_snapshot_script

  • publication_compatibility_level ( 80SP3 uniquement)publication_compatibility_level (to 80SP3 only)

  • pre_snapshot_scriptpre_snapshot_script

  • snapshot_in_defaultfoldersnapshot_in_defaultfolder

  • sync_modesync_mode

  • use_partition_groupsuse_partition_groups

Vous devez réinitialiser les abonnements existants pour modifier les propriétés suivantes.Changing the following properties requires that existing subscriptions be reinitialized. Vous devez spécifier la valeur 1 pour le paramètre force_reinit_subscription .You must specify a value of 1 for the force_reinit_subscription parameter.

  • dynamic_filtersdynamic_filters

  • validate_subscriber_infovalidate_subscriber_info

Pour répertorier les objets de publication à Active Directory ** à l’aide SQL ServerSQL Server de l’publish_to_Active_Directory, l’objet doit déjà être créé dans Active Directory.To list publication objects to Active Directory by using the publish_to_active_directory, the SQL ServerSQL Server object must already be created in Active Directory.

ExempleExample

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

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

AutorisationsPermissions

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_changemergepublication.Only members of the sysadmin fixed server role or db_owner fixed database role can execute sp_changemergepublication.

Voir aussiSee Also

Afficher et modifier les propriétés d’une publication View and Modify Publication Properties
Changer les propriétés des publications et des articles Change Publication and Article Properties
sp_addmergepublication (Transact-SQL) sp_addmergepublication (Transact-SQL)
sp_dropmergepublication (Transact-SQL) sp_dropmergepublication (Transact-SQL)
sp_helpmergepublication (Transact-SQL) sp_helpmergepublication (Transact-SQL)
Procédures stockées de réplication (Transact-SQL)Replication Stored Procedures (Transact-SQL)