sp_addmergepublication (Transact-SQL)

Crée une nouvelle publication de fusion. Cette procédure stockée est exécutée sur le serveur de publication dans la base de données publiée.

Icône Lien de rubriqueConventions de syntaxe Transact-SQL

Syntaxe

sp_addmergepublication [ @publication = ] 'publication'
    [ ,[ @description = ] 'description' 
    [ ,[ @retention = ] retention ] 
    [ ,[ @sync_mode = ]'sync_mode' ] 
    [ , [ @allow_push = ] 'allow_push'] 
    [ ,[ @allow_pull = ] 'allow_pull'] 
    [ ,[ @allow_anonymous = ]'allow_anonymous'] 
    [ ,[ @enabled_for_internet = ] 'enabled_for_internet'] 
    [ ,[ @centralized_conflicts = ] 'centralized_conflicts'] 
    [ ,[ @dynamic_filters = ] 'dynamic_filters'] 
    [ ,[ @snapshot_in_defaultfolder = ] 'snapshot_in_default_folder'] 
    [ ,[ @alt_snapshot_folder = ] 'alternate_snapshot_folder'] 
    [ ,[ @pre_snapshot_script = ] 'pre_snapshot_script'] 
    [ ,[ @post_snapshot_script = ] 'post_snapshot_script'] 
    [ ,[ @compress_snapshot = ] 'compress_snapshot'] 
    [ ,[ @ftp_address = ] 'ftp_address'] 
    [ ,[ @ftp_port = ] ftp_port ] 
    [ ,[ @ftp_subdirectory = ] 'ftp_subdirectory'] 
    [ ,[ @ftp_login = ] 'ftp_login'] 
    [ ,[ @ftp_password = ] 'ftp_password'] 
    [ ,[ @conflict_retention = ] conflict_retention ] 
    [ ,[ @keep_partition_changes = ] 'keep_partition_changes' ] 
    [ ,[ @allow_subscription_copy = ] 'allow_subscription_copy'] 
    [ ,[ @allow_synctoalternate = ] 'allow_synctoalternate'] 
    [ , [ @validate_subscriber_info = ] 'validate_subscriber_info'] 
    [ ,[ @add_to_active_directory = ] 'add_to_active_directory'] 
    [ ,[ @max_concurrent_merge = ] maximum_concurrent_merge ] 
    [ ,[ @max_concurrent_dynamic_snapshots = ] max_concurrent_dynamic_snapshots ]
    [ , [ @use_partition_groups = ] 'use_partition_groups']
    [ , [ @publication_compatibility_level = ] 'backward_comp_level' ]
    [ , [ @replicate_ddl = ] replicate_ddl ]
    [ , [ @allow_subscriber_initiated_snapshot = ] 'allow_subscriber_initiated_snapshot' ] 
    [ , [ @allow_web_synchronization = ] 'allow_web_synchronization' ] 
    [ , [ @web_synchronization_url = ] 'web_synchronization_url' ]
    [ , [ @allow_partition_realignment = ] 'allow_partition_realignment' ]
    [ , [ @retention_period_unit = ] 'retention_period_unit' ]
    [ , [ @generation_leveling_threshold = ] generation_leveling_threshold ]
    [ , [ @automatic_reinitialization_policy = ] automatic_reinitialization_policy ]
    [ , [ @conflict_logging = ] 'conflict_logging' ]

Arguments

  • [ @publication = ] 'publication'
    Nom de la publication de fusion à créer. L'argument publication est de type sysname et n'a pas de valeur par défaut. Il ne doit pas correspondre au mot clé ALL. Le nom de la publication doit être unique dans la base de données.

  • [ @description = ] 'description'
    Description de la publication. L'argument description est de type nvarchar(255), avec NULL comme valeur par défaut..

  • [ @retention = ] retention
    Période de rétention, en unités de période de rétention, pendant laquelle les modifications sont enregistrées pour la publication donnée. L'argument retention est de type int, avec la valeur 14 par défaut. Les unités de période de rétention sont définies par retention_period_unit. Si l'abonnement n'est pas synchronisé pendant la période de rétention et que les modifications en attente qu'il devait recevoir ont été supprimées par une opération de nettoyage sur le serveur de distribution, l'abonnement expire et doit être réinitialisé. La période de rétention maximum autorisable est le nombre de jours compris entre le 31 décembre 9999 et la date actuelle.

    [!REMARQUE]

    La période de rétention pour les publications de fusion bénéficie d'une période de grâce de 24 heures pour les besoins des abonnés se trouvant dans des fuseaux horaires différents. Si, par exemple, vous définissez une période de rétention d'un jour, la période de rétention réelle est de 48 heures.

  • [ @sync\_mode = ] 'sync_mode'
    Mode de la synchronisation initiale des Abonnés à la publication. L'argument sync_mode est de type nvarchar(10), et peut prendre une des valeurs ci-dessous.

    Valeur

    Description

    native (par défaut)

    Produit une copie par bloc en mode natif de toutes les tables.

    character

    Produit une copie par bloc en mode caractère de toutes les tables. Nécessaire à la prise en charge d'Abonnés MicrosoftSQL Server Compact 3.5 SP1 et non-SQL Server.

  • [ @allow\_push = ] 'allow_push'
    Indique si des abonnements par émission de données peuvent être créés pour une publication donnée. L'argument allow_push est de type nvarchar(5), avec TRUE comme valeur par défaut. Cette valeur autorise des abonnements par émission de données pour cette publication.

  • [ @allow\_pull = ] 'allow_pull'
    Indique si des abonnements par extraction peuvent être créés pour une publication donnée. L'argument allow_pull est de type nvarchar(5), avec TRUE comme valeur par défaut. Cette valeur autorise des abonnements par extraction pour cette publication. Vous devez spécifier la valeur True pour prendre en charge les abonnés SQL Server Compact 3.5 SP1.

  • [ @allow\_anonymous = ] 'allow_anonymous'
    Indique si des abonnements anonymes peuvent être créés pour une publication donnée. L'argument allow_anonymous est de type nvarchar(5), avec TRUE comme valeur par défaut. Cette valeur autorise des abonnements anonymes pour cette publication. Pour prendre en charge les Abonnés SQL Server Compact 3.5 SP1, vous devez spécifier la valeur true.

  • [ @enabled\_for\_internet = ] 'enabled_for_internet'
    Indique si la publication est activée pour Internet et détermine si le protocole de transfert de fichiers (FTP) peut être utilisé pour le transfert des fichiers de capture instantanée à un Abonné. L'argument enabled_for_internet est de type nvarchar(5), avec FALSE comme valeur par défaut. Si la valeur est true, les fichiers de synchronisation de la publication sont placés dans le répertoire C:\Program Files\Microsoft SQL Server\MSSQL\MSSQL.x\Repldata\Ftp. L'utilisateur doit créer le répertoire FTP. Si la valeur est false, la publication n'est pas activée pour l'accès Internet.

  • [ @centralized\_conflicts =] 'centralized_conflicts'
    Ce paramètre a été désapprouvé et n'est pris en charge que pour des raisons de compatibilité descendante des scripts. Utilisez conflict_logging pour spécifier l'emplacement où se trouvent les enregistrements de conflits.

  • [ @dynamic\_filters =] 'dynamic_filters'
    Active la publication de fusion pour utiliser les filtres de lignes paramétrables. L'argument dynamic_filters est de type nvarchar(5), avec FALSE comme valeur par défaut.

    [!REMARQUE]

    Vous ne devez pas spécifier vous-même ce paramètre mais autoriser SQL Server à déterminer automatiquement si les filtres de lignes paramétrables sont utilisés. Si vous spécifiez la valeur true pour dynamic_filters, vous devez définir un filtre de lignes paramétrable pour l'article. Pour plus d'informations, consultez Procédure : définir et modifier un filtrage des lignes paramétrable pour un article de fusion (programmation Transact-SQL de la réplication).

  • [ @snapshot\_in\_defaultfolder = ] 'snapshot_in_default_folder'
    Indique si les fichiers de capture instantanée sont stockés dans le dossier par défaut. L'argument snapshot_in_default_folder est de type nvarchar(5), avec TRUE comme valeur par défaut. Si la valeur est true, les fichiers de capture instantanée se trouvent dans le dossier par défaut. Si la valeur est false, les fichiers de capture instantanée sont stockés dans le dossier de remplacement spécifié par alternate_snapshot_folder. Les emplacements secondaires peuvent se trouver sur un autre serveur, un lecteur réseau ou un support amovible (tel qu'un CD-ROM ou des disques amovibles). Vous pouvez également enregistrer les fichiers de capture instantanée sur un site FTP, pour qu'ils soient récupérés ultérieurement par l'abonné. Notez que ce paramètre peut avoir la valeur true et néanmoins avoir un emplacement spécifié par alt_snapshot_folder. Cette combinaison indique que les fichiers de capture instantanée sont stockés dans les emplacements par défaut et secondaires.

  • [ @alt\_snapshot\_folder = ] 'alternate_snapshot_folder'
    Spécifie l'emplacement du dossier secondaire de la capture instantanée. L'argument alternate_snapshot_folder est de type nvarchar(255), avec NULL comme valeur par défaut.

  • [ @pre\_snapshot\_script = ] 'pre_snapshot_script'
    Spécifie un pointeur vers l'emplacement d'un fichier .sql. L'argument pre_snapshot_script est de type nvarchar(255), avec NULL comme valeur par défaut. L'Agent de fusion exécute le script de précapture instantanée avant tous les scripts d'objets répliqués, lors de l'application de la capture instantanée chez un abonné. Le script est exécuté dans le contexte de sécurité utilisé par l'Agent de fusion lors de la connexion à la base de données d'abonnement. Les scripts de précapture instantanée ne sont pas exécutés sur les Abonnés SQL Server Compact 3.5 SP1.

  • [ @post\_snapshot\_script = ] 'post_snapshot_script'
    Spécifie un pointeur vers l'emplacement d'un fichier .sql. L'argument post_snapshot_script est de type nvarchar(255), avec NULL comme valeur par défaut. L'Agent de fusion exécute le script de post-capture instantanée après que tous les autres scripts d'objets et données répliqués ont été appliqués lors d'une synchronisation initiale. Le script est exécuté dans le contexte de sécurité utilisé par l'Agent de fusion lors de la connexion à la base de données d'abonnement. Les scripts de post-capture instantanée ne sont pas exécutés sur les Abonnés SQL Server Compact 3.5 SP1.

  • [ @compress\_snapshot = ] 'compress_snapshot'
    Indique que la capture instantanée écrite à l'emplacement @alt\_snapshot\_folder doit être compressée au format Microsoft CAB. L'argument compress_snapshot est de type nvarchar(5), avec FALSE comme valeur par défaut. La valeur false indique que la capture instantanée ne sera pas compressée et la valeur true qu'elle doit être compressée. Les fichiers de capture instantanée dépassant 2 Go ne peuvent pas être compressés. Les fichiers de capture instantanée compressés sont décompressés à l'emplacement d'exécution de l'Agent de fusion. Les abonnements par extraction de données sont généralement utilisés avec des captures instantanées compressées, afin que les fichiers soient décompressés chez l'abonné. La capture instantanée se trouvant dans le dossier par défaut ne peut pas être compressée. Pour prendre en charge les Abonnés SQL Server Compact 3.5 SP1, vous devez spécifier la valeur false.

  • [ @ftp\_address = ] 'ftp_address'
    Adresse réseau du service FTP pour le serveur de distribution. L'argument ftp_address est de type sysname, avec NULL comme valeur par défaut. Indique l'emplacement à partir duquel l'Agent de fusion d'un abonné peut extraire les fichiers de capture instantanée de la publication. Étant donné que cette propriété est stockée pour chaque publication, chaque publication peut avoir sa propre valeur pour ftp_address. La publication doit prendre en charge la propagation des captures instantanées à l'aide du protocole FTP.

  • [ @ftp\_port**=** ] ftp_port
    Numéro de port du service FTP du serveur de distribution. ftp_port est de type int, avec 21 comme valeur par défaut. Indique l'emplacement à partir duquel l'Agent de fusion d'un Abonné peut extraire les fichiers de capture instantanée de la publication. Étant donné que cette propriété est stockée pour chaque publication, chaque publication peut avoir sa propre valeur pour ftp_port.

  • [ @ftp\_subdirectory = ] 'ftp_subdirectory'
    Indique l'emplacement à partir duquel l'Agent de fusion de l'abonné peut extraire les fichiers de capture instantanée si la publication prend en charge la propagation de captures instantanées par FTP. L'argument ftp_subdirectory est de type nvarchar(255), avec NULL comme valeur par défaut. Étant donné que cette propriété est stockée pour chaque publication, chaque publication peut avoir sa propre valeur pour ftp_subdirctory ou, si une valeur NULL est spécifiée, elle peut n'être associée à aucun sous-répertoire.

    Lors de la prégénération de captures instantanées pour les publications avec des filtres paramétrables, la capture instantanée de données pour chaque partition d'abonné doit se trouver dans son propre dossier. La structure de répertoire pour les captures instantanées prégénérées à l'aide de FTP doit répondre aux conditions suivantes :

    alternate_snapshot_folder\ftp\publisher_publicationDB_publication\partitionID.

    [!REMARQUE]

    Les valeurs en italique ci-dessus dépendent des détails de la publication et de la partition de l'abonné.

  • [ @ftp\_login = ] 'ftp_login'
    Nom d'utilisateur utilisé pour la connexion au service FTP. L'argument ftp_login est de type sysname, avec « anonymous » comme valeur par défaut.

  • [ @ftp\_password = ] 'ftp_password'
    Mot de passe d'utilisateur utilisé pour la connexion au service FTP. L'argument ftp_password est de type sysname, avec NULL comme valeur par défaut.

    Remarque relative à la sécuritéRemarque relative à la sécurité

    N'utilisez pas de mot de passe vide. Utilisez un mot de passe fort.

  • [ @conflict\_retention = ] conflict_retention
    Indique la période de rétention, en jours, pendant laquelle les conflits sont retenus. L'argument conflict_retention est de type int, avec 14 jours comme valeur par défaut avant que la ligne en conflit ne soit purgée de la table de conflits.

  • [ @keep\_partition\_changes = ] 'keep_partition_changes'
    Indique si l'optimisation des modifications de partitions est activée lorsque les partitions précalculées ne peuvent pas être utilisées. L'argument keep_partition_changes est de type nvarchar(5), avec TRUE comme valeur par défaut. false signifie que les modifications de partitions ne sont pas optimisées, et que lorsque les partitions précalculées ne sont pas utilisées, les partitions envoyées à tous les Abonnés seront vérifiées lorsque les données sont modifiées dans une partition. true signifie que les modifications de partitions sont optimisées et que seuls les Abonnés dont des lignes se trouvent dans les partitions modifiées sont concernés. Lors de l'utilisation de partitions précalculées, attribuez à use_partition_groups la valeur true et attribuez à keep_partition_changes la valeur false. Pour plus d'informations, consultez Optimisation des performances des filtres paramétrés avec des partitions précalculées.

    [!REMARQUE]

    Si vous spécifiez la valeur true pour keep_partition_changes, spécifiez la valeur 1 pour le paramètre d'Agent de capture instantanée -MaxNetworkOptimization. Pour plus d'informations sur ce paramètre, consultez Agent de capture instantanée de réplication. Pour plus d'informations sur la spécification des paramètres d'agent, consultez Administration des agents de réplication.

  • [ @allow\_subscription\_copy = ] 'allow_subscription_copy'
    Active ou désactive la possibilité de copier les bases de données d'abonnement qui sont abonnées à la publication. L'argument allow_subscription_copy est de type nvarchar(5), avec FALSE comme valeur par défaut. La taille de la base de données d'abonnement doit être inférieure à 2 gigaoctets (Go).

  • [ @allow\_synctoalternate = ] 'allow_synctoalternate'
    Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.

  • [ @validate\_subscriber\_info = ] 'validate_subscriber_info'
    Répertorie les fonctions utilisées pour définir une partition d'abonné des données publiées lorsque les filtres de lignes paramétrables sont utilisés. L'argument validate_subscriber_info est de type nvarchar(500), avec NULL comme valeur par défaut. Ces informations sont utilisées par l'Agent de fusion pour valider la partition de l'abonné. Par exemple, si SUSER_SNAME est utilisé dans le filtre de lignes paramétrable, le paramètre doit être @validate\_subscriber\_info=N'SUSER_SNAME()'.

    [!REMARQUE]

    Vous ne devez pas spécifier vous-même ce paramètre mais autoriser SQL Server à déterminer automatiquement le critère de filtrage.

  • [ @add\_to\_active\_directory = ] 'add_to_active_directory'
    Ce paramètre a été désapprouvé et n'est pris en charge que pour des raisons de compatibilité descendante des scripts. Vous ne pouvez plus ajouter d'informations de publication à Microsoft Active Directory.

  • [ @max\_concurrent\_merge = ] maximum_concurrent_merge
    Nombre maximal de processus de fusion simultanés. L'argument maximum_concurrent_merge est de type int avec 0 comme valeur par défaut. Si cette propriété a la valeur 0, cela indique qu'il peut exister un nombre illimité de processus de fusion simultanés à tout instant. Cette propriété permet de définir un nombre maximal de processus de fusion simultanés exécutables sur une publication de fusion à un moment donné. Si le nombre de processus de fusion planifiés en même temps dépasse le nombre maximal autorisé à l'exécution, les travaux en trop sont placés dans une file d'attente jusqu'à l'achèvement d'un processus de fusion en cours.

  • [ @max\_concurrent\_dynamic\_snapshots =] max_concurrent_dynamic_snapshots
    Nombre maximal de sessions de l'Agent de capture instantanée qui peuvent être exécutées simultanément pour générer des captures instantanées de données filtrées pour les partitions d'abonnés. maximum_concurrent_dynamic_snapshots est de type int, avec 0 comme valeur par défaut. Si la valeur est 0, le nombre de sessions de capture instantanée est illimité. Si, au même moment, le nombre de processus de capture instantanée planifiés dépasse le nombre maximal autorisé, les travaux en excès sont placés dans une file d'attente jusqu'à achèvement d'un processus d'instantané en cours.

  • [ @use\_partition\_groups = ] 'use_partition_groups'
    Spécifie que les partitions précalculées doivent être utilisées pour optimiser le processus de synchronisation. use_partition_groups est de type nvarchar(5) et peut prendre l'une des valeurs suivantes :

    Valeur

    Description

    true

    La publication utilise les partitions précalculées.

    false

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

    NULL (valeur par défaut)

    Le système détermine la stratégie de partitionnement.

    Les partitions précalculées sont utilisées par défaut. Pour éviter d'utiliser des partitions précalculées, use_partition_groups doit avoir la valeur false. Lorsqu'il a la valeur NULL, le système décide si les partitions précalculées peuvent être utilisées. Si les partitions précalculées ne peuvent pas être utilisées, cette valeur devient alors false sans générer d'erreur. Dans ce type de cas, keep_partition_changes peut avoir la valeur true pour fournir une certaine optimisation. Pour plus d'informations, consultez Filtres de lignes paramétrés et Optimisation des performances des filtres paramétrés avec des partitions précalculées.

  • [ @publication\_compatibility\_level = ] backward_comp_level
    Indique la compatibilité descendante de la publication. L'argument backward_comp_level est de type nvarchar(6) et peut prendre l'une des valeurs suivantes :

    Valeur

    Version

    70RTM

    MicrosoftSQL Server 7.0

    70SP1

    SQL Server 7.0 Service Pack 1

    70SP2

    SQL Server 7.0 Service Pack 2

    70SP3

    SQL Server 7.0 Service Pack 3

    70SP4

    SQL Server 7.0 Service Pack 4

    80RTM

    MicrosoftSQL Server 2000

    80SP1

    SQL Server 2000 Service Pack 1

    80SP2

    SQL Server 2000 Service Pack 2

    80SP3

    SQL Server 2000 Service Pack 3

    90RTM

    MicrosoftSQL Server 2005

    100RTM

    MicrosoftSQL Server 2008

  • [@replicate_ddl = ] replicate_ddl
    Indique si la réplication de schéma est prise en charge pour la publication. L'argument replicate_ddl est de type int, avec 1 comme valeur par défaut. La valeur 1 indique que les instructions DDL (Data Definition Language) exécutées sur le serveur de publication sont répliquées, alors que la valeur 0 indique qu'elles ne sont pas répliquées. Pour plus d'informations, consultez Modification du schéma dans les bases de données de publication.

  • [ @allow\_subscriber\_initiated\_snapshot = ] 'allow_subscriber_initiated_snapshot'
    Indique si les abonnés de cette publication peuvent initier le processus de capture instantanée pour générer la capture instantanée filtrée pour leur partition de données. L'argument allow_subscriber_initiated_snapshot est de type nvarchar(5), avec FALSE comme valeur par défaut. La valeur true indique que les abonnés peuvent initier le processus de capture instantanée.

  • [ @allow\_web\_synchronization = ] 'allow_web_synchronization'
    Indique si la publication est activée pour la synchronisation Web. L'argument allow_web_synchronization est de type nvarchar(5), avec FALSE comme valeur par défaut. La valeur true indique que les abonnements à cette publication peuvent être synchronisés par HTTPS. Pour plus d'informations, consultez Synchronisation Web pour la réplication de fusion. Pour prendre en charge les Abonnés SQL Server Compact 3.5 SP1, vous devez spécifier la valeur true.

  • [ @web\_synchronization\_url = ] 'web_synchronization_url'
    Indique la valeur par défaut de l'URL Internet utilisée pour la synchronisation Web. L'argument web_synchronization_url i est de type nvarchar(500), avec NULL comme valeur par défaut. Définit l'URL Internet par défaut si aucune URL n'a été explicitement définie lorsque sp_addmergepullsubscription_agent est exécuté.

  • [ @allow\_partition\_realignment = ] 'allow_partition_realignment'
    Détermine si des suppressions sont envoyées à l'abonné lorsqu'une modification de la ligne sur le serveur de publication a entraîné la modification de la partition. L'argument allow_partition_realignment est de type nvarchar(5), avec TRUE comme valeur par défaut. La valeur true envoie des suppressions à l'abonné pour refléter les résultats d'une modification de partition en supprimant les données qui ne font plus partie de la partition de l'abonné. La valeur false conserve les données de l'ancienne partition sur l'abonné et les modifications apportées à ces données sur le serveur de publication ne seront pas répliquées sur l'abonné, mais les modifications apportées sur l'abonné seront répliquées sur le serveur de publication. Le fait d'attribuer à allow_partition_realignment la valeur false permet de conserver dans un abonnement des données issues d'une ancienne partition afin qu'elles soient accessibles à des fins d'historique.

    [!REMARQUE]

    Les données qui demeurent sur l'Abonné lorsque allow_partition_realignment a la valeur false doivent être traitées en tant que données en lecture seule ; toutefois, cette contrainte n'est pas strictement imposée par le système de réplication.

  • [ @retention\_period\_unit = ] 'retention_period_unit'
    Spécifie les unités pour la période de rétention définie par retention. L'argument retention_period_unit est de type nvarchar(10) et peut prendre l'une des valeurs ci-après.

    Valeur

    Version

    day (par défaut)

    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.

  • [ @generation\_leveling\_threshold = ] generation_leveling_threshold
    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é. L'argument generation_leveling_threshold est de type int, avec 1 000 comme valeur par défaut. Pour plus d'informations, consultez Comment la réplication de fusion effectue le suivi et l'énumération des modifications.

  • [ @automatic\_reinitialization\_policy = ] automatic_reinitialization_policy
    Spécifie si les modifications sont téléchargées à partir de l'Abonné avant une réinitialisation automatique requise par une modification apportée à la publication, où la valeur 1 a été spécifiée pour @force_reinit_subscription. L'argument automatic_reinitialization_policy est de type bit, avec 0 comme valeur par défaut. La valeur 1 indique que les modifications sont téléchargées à partir de l'Abonné avant une réinitialisation automatique.

    Important

    Si vous ajoutez, supprimez ou modifiez un filtre paramétrable, les modifications en attente chez l'abonné ne peuvent pas être téléchargées vers le serveur de publication pendant la réinitialisation. Si vous voulez télécharger les modifications en attente, synchronisez tous les abonnements avant de modifier le filtre.

  • [ @conflict\_logging = ] 'conflict_logging'
    Indique l'emplacement de stockage des enregistrements de conflits. L'argument conflict_logging est de type nvarchar(15), et peut prendre l'une des valeurs suivantes :

    Valeur

    Description

    publisher

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

    subscriber

    Les enregistrements de conflits sont stockés sur l'abonné qui a causé le conflit. Non pris en charge pour les Abonnés SQL Server Compact 3.5 SP1.

    both

    Les enregistrements de conflits sont stockés sur le serveur de publication et sur l'abonné.

    NULL (valeur par défaut)

    La réplication attribut automatiquement à conflict_logging la valeur both lorsque backward_comp_level a pour valeur 90RTM, et publisher dans tous les autres cas.

Valeurs des codes renvoyés

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

Notes

sp_addmergepublication est utilisée dans la réplication de fusion.

Les objets de publication figurant dans l'annuaire Active Directory ne peuvent être affichés à l'aide du paramètre @add\_to\_active\_directory que si l'objet SQL Server a déjà été créé dans Active Directory.

S'il existe plusieurs publications à proclamer le même objet de base de données, seules les publications pour lesquelles replicate_ddl a la valeur 1 répliqueront les instructions ALTER TABLE, ALTER VIEW, ALTER PROCEDURE, ALTER FUNCTION et ALTER TRIGGER DDL. Cependant, une instruction ALTER TABLE DROP COLUMN DDL sera répliquée par toutes les publications publiant la colonne supprimée.

Pour les Abonnés SQL Server Compact 3.5 SP1, la valeur de alternate_snapshot_folder est uniquement utilisée lorsque snapshot_in_default_folder a pour valeur false.

Si la réplication DDL est activée (replicate_ddl**=1**) pour une publication alors que vous voulez apporter des modifications DDL non répliquées à cette publication, exécutez d'abord sp_changemergepublication pour attribuer à replicate_ddl la valeur 0. Après l'exécution des instructions DDL non répliquées, la procédure stockée sp_changemergepublication peut être réexécutée pour réactiver la réplication DDL.

Exemple

-- To avoid storing the login and password in the script file, the value 
-- is passed into SQLCMD as a scripting variable. For information about 
-- how to use scripting variables on the command line and in SQL Server
-- Management Studio, see the "Executing Replication Scripts" section in
-- the topic "Programming Replication Using System Stored Procedures".

--Declarations for adding a merge publication
DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
DECLARE @login AS sysname;
DECLARE @password AS sysname;
SET @publicationDB = N'AdventureWorks'; 
SET @publication = N'AdvWorksSalesOrdersMerge'; 
SET @login = $(Login);
SET @password = $(Password);

-- Enable merge replication on the publication database, using defaults.
USE master
EXEC sp_replicationdboption 
  @dbname=@publicationDB, 
  @optname=N'merge publish',
  @value = N'true' 

-- Create a new merge publication, explicitly setting the defaults. 
USE [AdventureWorks]
EXEC sp_addmergepublication 
-- These parameters are optional.
  @publication = @publication,
  -- optional parameters 
  @description = N'Merge publication of AdventureWorks.',
  @publication_compatibility_level  = N'90RTM';

-- Create a new snapshot job for the publication.
EXEC sp_addpublication_snapshot 
  @publication = @publication, 
  @job_login = @login, 
  @job_password = @password;
GO

Autorisations

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