Partager via


sp_changemergepublication (Transact-SQL)

Modifie les propriétés d'une publication 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 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. property est sysname, et peut prendre l'une des valeurs répertoriées dans le tableau suivant.

  • [ @value=\] 'value'
    Nouvelle valeur de la propriété spécifiée. value est nvarchar(255), et peut prendre l'une des valeurs répertoriées dans le tableau suivant.

    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.

    Propriété

    Valeur

    Description

    allow_anonymous

    true

    Les abonnements anonymes sont autorisés.

     

    false

    Les abonnements anonymes ne sont pas autorisés.

    allow_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é. Il s'agit du comportement par défaut.

     

    false

    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é. À la place, les modifications apportées à l'Abonné sont répliquées vers le serveur de publication. Cela permet de conserver dans un abonnement des données issues d'une ancienne partition afin qu'elles soient accessibles à des fins d'historique.

    allow_pull

    true

    Les abonnements par extraction de données (pull) sont autorisés pour la publication concernée.

     

    false

    Les abonnements par extraction de données (pull) sont pas autorisés pour la publication concernée.

    allow_push

    true

    Les abonnements par envoi de données (push) sont autorisés pour la publication concernée.

     

    false

    Les abonnements par envoi de données (push) ne sont pas autorisés pour la publication concernée.

    allow_subscriber_initiated_snapshot

    true

    L'Abonné peut initier le processus d'instantané.

     

    false

    L'Abonné ne peut pas initier le processus d'instantané.

    allow_subscription_copy

    true

    Vous pouvez copier les bases de données d'abonnement qui sont abonnées à la publication.

     

    false

    Vous ne pouvez pas copier les bases de données d'abonnement qui sont abonnées à la publication.

    allow_synctoalternate

    true

    Permet à un serveur partenaire de synchronisation différent de se synchroniser avec le serveur de publication.

     

    false

    Ne permet pas à un serveur partenaire de synchronisation différent de se synchroniser avec le serveur de publication.

    allow_web_synchronization

    true

    Les abonnements peuvent être synchronisés via HTTPS.

     

    false

    Les abonnements ne peuvent pas être synchronisés via HTTPS.

    alt_snapshot_folder

     

    Spécifie l'emplacement de l'autre dossier de l'instantané.

    automatic_reinitialization_policy

    1

    Les modifications sont téléchargées depuis l'Abonné avant que l'abonnement ne soit réinitialisé.

     

    0

    L'abonnement est réinitialisé sans téléchargement préalable des modifications.

    centralized_conflicts

    true

    Tous les enregistrements en conflit sont stockés sur le serveur de publication. Vous devez réinitialiser les abonnés existants si vous modifiez cette propriété.

     

    false

    Les enregistrements en conflit sont stockés sur le serveur qui est sorti perdant de la résolution du conflit. Vous devez réinitialiser les abonnés existants si vous modifiez cette propriété.

    compress_snapshot

    true

    L'instantané se trouvant dans un dossier d'instantané de remplacement est compressé au format CAB. L'instantané se trouvant dans le dossier d'instantané par défaut ne peut pas être compressé. La modification de cette propriété requiert un nouvel instantané.

     

    false

    L'instantané n'est pas compressé par défaut. La modification de cette propriété requiert un nouvel instantané.

    conflict_logging

    publisher

    Les enregistrements en conflit sont stockés sur le serveur de publication.

     

    subscriber

    Les enregistrements en conflit sont stockés dans l'Abonné à l'origine du conflit. Propriété non prise en charge pour les Abonnés SQL Server Compact.

     

    both

    Les enregistrements en conflit sont stockés dans le serveur de publication et l'Abonné.

    conflict_retention

     

    int qui indique la période de rétention, en jours, pendant laquelle les conflits sont conservés. Si conflict_retention a pour valeur 0, aucun nettoyage de conflit n'est requis.

    description

     

    Description de la publication.

    dynamic_filters

    true

    La publication est filtrée sur une clause dynamique.

     

    false

    La publication n'est pas filtrée dynamiquement.

    enabled_for_internet

    true

    La publication est activée pour Internet. Le protocole FTP (File Transfer Protocol) peut être utilisé pour le transfert des fichiers d'instantané vers un Abonné. Les fichiers de synchronisation de la publication sont placés dans le répertoire C:\Program Files\Microsoft SQL Server\MSSQL\Repldata\ftp.

     

    false

    La publication n'est pas activée pour Internet.

    ftp_address

     

    Adresse réseau du service FTP du serveur de distribution. Indique l'emplacement de stockage des fichiers d'instantané de la publication.

    ftp_login

     

    Nom d'utilisateur utilisé pour la connexion au service FTP.

    ftp_password

     

    Mot de passe utilisateur utilisé pour la connexion au service FTP.

    ftp_port

     

    Numéro de port du service FTP du serveur de distribution. Indique le numéro de port TCP du site FTP où sont stockés les fichiers d'instantané de la publication.

    ftp_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.

    generation_leveling_threshold

    int

    Indique le nombre de modifications contenues dans une génération. Une génération est une collection de modifications remises à un serveur de publication ou à un Abonné.

    keep_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. La modification de cette propriété requiert un nouvel instantané.

     

    false

    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. La modification de cette propriété requiert un nouvel instantané.

    max_concurrent_merge

     

    Ce int représente le nombre maximal de processus de fusion pouvant être exécutés simultanément sur une 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.

    max_concurrent_dynamic_snapshots

     

    Ce int représente le nombre maximal de sessions d'instantané pouvant être exécutées simultanément sur une publication de fusion qui utilise des filtres de lignes paramétrables, afin de générer un instantané de données filtrées. Si la valeur est 0, aucune limite n'est spécifiée. 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.

    post_snapshot_script

     

    Spécifie un pointeur vers l'emplacement d'un fichier .sql. 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. La modification de cette propriété requiert un nouvel instantané.

    pre_snapshot_script

     

    Spécifie un pointeur vers l'emplacement d'un fichier .sql. 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é. La modification de cette propriété requiert un nouvel instantané.

    publication_compatibility_level

    100RTM

    SQL Server 2008

    90RTM

    SQL Server 2005

    publish_to_activedirectory

    true

    Ce paramètre est déconseillé et n'est pris en charge que pour la compatibilité descendante des scripts. Vous ne pouvez plus ajouter d'informations de publication dans Active Directory.

     

    false

    Supprime les informations de publication d'Active Directory.

    replicate_ddl

    1

    Les instructions DDL (Data Definition Language) exécutées sur le serveur de publication sont répliquées.

     

    0

    Les instructions DDL ne sont pas répliquées.

    retention

     

    Ce int représente le nombre d'unités retention_period_unit pour lesquelles doivent être enregistrées les modifications relatives à la publication donnée. 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. La période de rétention maximale autorisée correspond au nombre de jours entre la date actuelle et le 31 décembre 9999.

    [!REMARQUE]

    La période de rétention des publications de fusion dispose d'un délai de grâce de 24 heures pour prendre en charge les Abonnés situés dans différents fuseaux horaires.

    retention_period_unit

    day

    La période de rétention est spécifiée en jours.

     

    week

    La période de rétention est spécifiée en semaines.

     

    month

    La période de rétention est spécifiée en mois.

     

    year

    La période de rétention est spécifiée en années.

    snapshot_in_defaultfolder

    true

    Les fichiers d'instantané sont stockés dans le dossier d'instantané par défaut.

     

    false

    Les fichiers d'instantané sont stockés dans le dossier de remplacement spécifié par alt_snapshot_folder. Cette combinaison indique que les fichiers d'instantané sont stockés dans les emplacements par défaut et de remplacement.

    snapshot_ready

    true

    L'instantané de la publication est disponible.

     

    false

    L'instantané de la publication n'est pas disponible.

    status

    active

    La publication est dans un état actif.

     

    inactive

    La publication est dans un état inactif.

    sync_mode

    native ou

    bcp native

    La sortie programme de la copie en bloc en mode natif de toutes les tables est utilisée pour l'instantané initial.

     

    character

    ou 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 Server.

    use_partition_groups

    [!REMARQUE]

    Après avoir utilisé partition_groups, si vous revenez à l'utilisation de setupbelongs, et définissez use_partition_groups=false dans changemergearticle, il est possible que ce changement ne soit pas reflété correctement après la prise d'un instantané. Les déclencheurs générés par l'instantané sont conformes avec les groupes de partition.

    La solution de contournement à ce scénario est de définir le statut à Inactif, de modifier use_partition_groups, puis définir le statut à Actif.

    true

    La publication utilise des partitions précalculées.

     

    false

    La publication n'utilise pas de partitions précalculées.

    validate_subscriber_info

     

    Répertorie les fonctions utilisées pour extraire des informations d'Abonné. 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.

    web_synchronization_url

     

    Valeur par défaut de l'URL Internet utilisée pour la synchronisation Web.

    NULL (valeur par défaut)

     

    Renvoie la liste des valeurs prises en charge pour property.

  • [ @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 indique que les modifications apportées à la publication 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 indique que les modifications apportées à la publication peuvent entraîner l'invalidation de l'instantané. Si certains abonnements existants nécessitent un nouvel instantané, cette valeur autorise le marquage de l'instantané existant comme obsolète, et la génération d'un nouvel instantané.

    Consultez la section Remarques pour connaître les propriétés dont la modification nécessite 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 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 autorisent 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

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

La modification des propriétés suivantes requiert qu'un nouvel instantané soit généré. Vous devez spécifier une valeur de 1 pour le 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 (à 80SP3 seulement)

  • pre_snapshot_script

  • snapshot_in_defaultfolder

  • sync_mode

  • use_partition_groups

Vous devez réinitialiser les abonnements existants pour modifier les propriétés suivantes. Vous devez spécifier une valeur de 1 pour le 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.

Exemple

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

Autorisations

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

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)

Concepts

Afficher et modifier les propriétés d'une publication

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