sp_addpublication (Transact-SQL)sp_addpublication (Transact-SQL)

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database (Managed Instance uniquement) nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure SQL Data Warehouse noParallel Data Warehouse

Crée une publication d'instantané ou transactionnelle.Creates a snapshot or transactional 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 de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

  
sp_addpublication [ @publication = ] 'publication'  
    [ , [ @taskid = ] tasked ]  
    [ , [ @restricted = ] 'restricted' ]  
    [ , [ @sync_method = ] 'sync_method' ]  
    [ , [ @repl_freq = ] 'repl_freq' ]  
    [ , [ @description = ] 'description' ]  
    [ , [ @status = ] 'status' ]  
    [ , [ @independent_agent = ] 'independent_agent' ]  
    [ , [ @immediate_sync = ] 'immediate_sync' ]  
    [ , [ @enabled_for_internet = ] 'enabled_for_internet' ]  
    [ , [ @allow_push = ] 'allow_push'  
    [ , [ @allow_pull = ] 'allow_pull' ]  
    [ , [ @allow_anonymous = ] 'allow_anonymous' ]  
    [ , [ @allow_sync_tran = ] 'allow_sync_tran' ]  
    [ , [ @autogen_sync_procs = ] 'autogen_sync_procs' ]  
    [ , [ @retention = ] retention ]  
    [ , [ @allow_queued_tran= ] 'allow_queued_updating' ]  
    [ , [ @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' ]  
    [ , [ @allow_dts = ] 'allow_dts' ]  
    [ , [ @allow_subscription_copy = ] 'allow_subscription_copy' ]  
    [ , [ @conflict_policy = ] 'conflict_policy' ]  
    [ , [ @centralized_conflicts = ] 'centralized_conflicts' ]   
    [ , [ @conflict_retention = ] conflict_retention ]  
    [ , [ @queue_type = ] 'queue_type' ]  
    [ , [ @add_to_active_directory = ] 'add_to_active_directory' ]  
    [ , [ @logreader_job_name = ] 'logreader_agent_name' ]  
    [ , [ @qreader_job_name = ] 'queue_reader_agent_name' ]  
    [ , [ @publisher = ] 'publisher' ]   
    [ , [ @allow_initialize_from_backup = ] 'allow_initialize_from_backup' ]  
    [ , [ @replicate_ddl = ] replicate_ddl ]  
    [ , [ @enabled_for_p2p = ] 'enabled_for_p2p' ]  
    [ , [ @publish_local_changes_only = ] 'publish_local_changes_only' ]  
    [ , [ @enabled_for_het_sub = ] 'enabled_for_het_sub' ]  
    [ , [ @p2p_conflictdetection = ] 'p2p_conflictdetection' ]  
    [ , [ @p2p_originator_id = ] p2p_originator_id  
    [ , [ @p2p_continue_onconflict = ] 'p2p_continue_onconflict'  
    [ , [ @allow_partition_switch = ] 'allow_partition_switch'  
    [ , [ @replicate_partition_switch = ]'replicate_partition_switch'  

ArgumentsArguments

[ \@publication = ] 'publication'Nom de la publication à créer.[ \@publication = ] 'publication' Is the name of the publication to create. publication est de type sysname, sans valeur par défaut.publication is sysname, with no default. Le nom doit être unique dans la base de données.The name must be unique within the database.

[ \@taskid = ] taskidPris en charge pour la compatibilité descendante uniquement; Utilisez sp_addpublication_snapshot (Transact-SQL).[ \@taskid = ] taskid Supported for backward compatibility only; use sp_addpublication_snapshot (Transact-SQL).

[ \@restricted = ] 'restricted'Pris en charge pour la compatibilité descendante uniquement; Utilisez default_access.[ \@restricted = ] 'restricted' Supported for backward compatibility only; use default_access.

[ \@sync_method = ] _'sync_method'Mode de synchronisation.[ \@sync_method = ] _'sync_method' Is the synchronization mode. sync_method est de type nvarchar (13) et peut prendre l’une des valeurs suivantes.sync_method is nvarchar(13), and can be one of the following values.

ValueValue DescriptionDescription
nativenative Produit une copie par bloc en mode natif de toutes les tables.Produces native-mode bulk copy program output of all tables. Non pris en charge pour les serveurs de publication Oracle.Not supported for Oracle Publishers.
charactercharacter Produit une copie par bloc en mode caractère de toutes les tables.Produces character-mode bulk copy program output of all tables. Pour un serveur de publication Oracle, caractère est valide uniquement pour la réplication d’instantané.For an Oracle Publisher, character is valid only for snapshot replication.
concurrentconcurrent Produit une copie en bloc en mode natif de toutes les tables, mais ne verrouille pas les tables au cours de l'instantané.Produces native-mode bulk copy program output of all tables but does not lock tables during the snapshot. Pris en charge uniquement pour les publications transactionnelles.Only supported for transactional publications. Non pris en charge pour les serveurs de publication Oracle.Not supported for Oracle Publishers.
concurrent_cconcurrent_c Produit une copie en bloc en mode caractère de toutes les tables, mais ne verrouille pas les tables au cours de l'instantané.Produces character-mode bulk copy program output of all tables but does not lock tables during the snapshot. Pris en charge uniquement pour les publications transactionnelles.Only supported for transactional publications.
instantané de base de donnéesdatabase snapshot Produit une copie en bloc en mode natif de toutes les tables à partir d'un instantané de base de données.Produces native-mode bulk copy program output of all tables from a database snapshot. Les instantanés de base de données ne sont pas MicrosoftMicrosoftdisponibles dans toutes les éditions de SQL ServerSQL Server.Database snapshots are not available in every edition of MicrosoftMicrosoftSQL ServerSQL Server. Pour obtenir la liste des fonctionnalités prises en charge par les éditions de SQL ServerSQL Server, consultez Fonctionnalités prise en charge par les éditions de SQL Server 2016.For a list of features that are supported by the editions of SQL ServerSQL Server, see Features Supported by the Editions of SQL Server 2016.
caractère d’instantané de base de donnéesdatabase snapshot character Produit une copie en bloc en mode caractère de toutes les tables à partir d'un instantané de base de données.Produces character-mode bulk copy program output of all tables from a database snapshot. Les instantanés de base de données ne sont pas MicrosoftMicrosoftdisponibles dans toutes les éditions de SQL ServerSQL Server.Database snapshots are not available in every edition of MicrosoftMicrosoftSQL ServerSQL Server. Pour obtenir la liste des fonctionnalités prises en charge par les éditions de SQL ServerSQL Server, consultez Fonctionnalités prise en charge par les éditions de SQL Server 2016.For a list of features that are supported by the editions of SQL ServerSQL Server, see Features Supported by the Editions of SQL Server 2016.
NULL (par défaut)NULL (default) La valeur par défaut est MicrosoftMicrosoft native pour les serveurs de SQL ServerSQL Server publication.Defaults to native for MicrosoftMicrosoft SQL ServerSQL Server Publishers. Pour les serveursSQL ServerSQL Server de publication non-, la valeur par défaut est caractère lorsque la valeur de repl_freq est snapshot et à concurrent_c pour tous les autres cas.For non-SQL ServerSQL Server Publishers, defaults to character when the value of repl_freq is Snapshot and to concurrent_c for all other cases.

[ \@repl_freq = ] 'repl_freq'Type de fréquence de réplication, repl_freq est de type nvarchar (10) et peut prendre l’une des valeurs suivantes.[ \@repl_freq = ] 'repl_freq' Is the type of replication frequency, repl_freq is nvarchar(10), and can be one of the following values.

ValueValue DescriptionDescription
continu valeurscontinuous (default) Le serveur de publication fournit la sortie de toutes les transactions enregistrées dans le journal.Publisher provides output of all log-based transactions. Pour les serveursSQL ServerSQL Server de publication non-, la valeur de sync_method doit être définie sur concurrent_c.For non-SQL ServerSQL Server Publishers, this requires that sync_method be set to concurrent_c.
snapshotsnapshot Le serveur de publication fournit uniquement les événements de synchronisation planifiés.Publisher produces only scheduled synchronization events. Pour les serveursSQL ServerSQL Server de publication non-, la valeur de sync_method doit être définie sur caractère.For non-SQL ServerSQL Server Publishers, this requires that sync_method be set to character.

[ \@description = ] 'description'Description facultative de la publication.[ \@description = ] 'description' Is an optional description for the publication. Description est de type nvarchar (255) , avec NULL comme valeur par défaut.description is nvarchar(255), with a default of NULL.

[ \@status = ] 'status'Spécifie si les données de publication sont disponibles.[ \@status = ] 'status' Specifies if publication data is available. Status est de type nvarchar (8) et peut prendre l’une des valeurs suivantes.status is nvarchar(8), and can be one of the following values.

ValueValue DescriptionDescription
activeactive Les données de publication sont disponibles immédiatement pour les Abonnés.Publication data is available for Subscribers immediately.
inactif valeursinactive (default) Les données de la publication ne sont pas disponibles pour les Abonnés lors de la première création de la publication (ils peuvent s'abonner, mais les abonnements ne sont pas traités).Publication data is not available for Subscribers when the publication is first created (they can subscribe, but the subscriptions are not processed).

Non pris en charge pour les serveurs de publication Oracle.Not supported for Oracle Publishers.

[ \@independent_agent = ] 'independent_agent'Spécifie s’il existe un Agent de distribution autonome pour cette publication.[ \@independent_agent = ] 'independent_agent' Specifies if there is a stand-alone Distribution Agent for this publication. independent_agent est de type nvarchar (5) , avec false comme valeur par défaut.independent_agent is nvarchar(5), with a default of FALSE. Si la valeur est true, il existe un agent de distribution autonome pour cette publication.If true, there is a stand-alone Distribution Agent for this publication. Si la valeurest false, la publication utilise un agent de distribution partagé, et chaque paire base de données du serveur de publication/base de données de l’abonné possède un seul agent partagé.If false, the publication uses a shared Distribution Agent, and each Publisher database/Subscriber database pair has a single, shared Agent.

[ \@immediate_sync = ] 'immediate_synchronization'Spécifie si les fichiers de synchronisation de la publication sont créés chaque fois que le Agent d’instantané s’exécute.[ \@immediate_sync = ] 'immediate_synchronization' Specifies if the synchronization files for the publication are created each time the Snapshot Agent runs. immediate_synchronization est de type nvarchar (5) , avec false comme valeur par défaut.immediate_synchronization is nvarchar(5), with a default of FALSE. Si la valeur est true, les fichiers de synchronisation sont créés ou recréés à chaque exécution de la agent d’instantané.If true, the synchronization files are created or re-created each time the Snapshot Agent runs. Les Abonnés peuvent obtenir les fichiers de synchronisation immédiatement si l'Agent d'instantané a fini de s'exécuter avant la création de l'abonnement.Subscribers are able to get the synchronization files immediately if the Snapshot Agent has completed before the subscription is created. Les nouveaux abonnements obtiennent les fichiers de synchronisation les plus récents, générés lors de la dernière exécution de l'Agent d'instantané.New subscriptions get the newest synchronization files generated by the most recent execution of the Snapshot Agent. independent_agent doit avoir la valeur true pour que immediate_synchronization ait la valeur true.independent_agent must be true for immediate_synchronization to be true. Si la valeurest false, les fichiers de synchronisation sont créés uniquement s’il existe de nouveaux abonnements.If false, the synchronization files are created only if there are new subscriptions. Vous devez appeler sp_addsubscription pour chaque abonnement lorsque vous ajoutez de manière incrémentielle un nouvel article à une publication existante.You must call sp_addsubscription for each subscription when you incrementally add a new article to an existing publication. Les abonnés ne peuvent recevoir les fichiers de synchronisation après s'être abonnés qu'après le lancement et l'exécution des Agents d'instantané.Subscribers cannot receive the synchronization files after the subscription until the Snapshot Agents are started and completed.

[ \@enabled_for_internet = ] 'enabled_for_internet'Spécifie si la publication est activée pour Internet et détermine si le protocole FTP (File Transfer Protocol) peut être utilisé pour transférer les fichiers d’instantanés à un abonné.[ \@enabled_for_internet = ] 'enabled_for_internet' Specifies if the publication is enabled for the Internet, and determines if file transfer protocol (FTP) can be used to transfer the snapshot files to a subscriber. enabled_for_internet est de type nvarchar (5) , avec false comme valeur par défaut.enabled_for_internet is nvarchar(5), with a default of FALSE. 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.If true, the synchronization files for the publication are put into the C:\Program Files\Microsoft SQL Server\MSSQL\MSSQL.x\Repldata\Ftp directory. L'utilisateur doit créer le répertoire FTP.The user must create the Ftp directory.

[ \@allow_push = ] 'allow_push'Spécifie si des abonnements par émission de données peuvent être créés pour la publication donnée.[ \@allow_push = ] 'allow_push' Specifies if push subscriptions can be created for the given publication. allow_push est de type nvarchar (5) , avec true comme valeur par défaut, ce qui permet l’envoi d’abonnements sur la publication.allow_push is nvarchar(5), with a default of TRUE, which allows push subscriptions on the publication.

[ \@allow_pull = ] 'allow_pull'Spécifie si des abonnements par extraction de données peuvent être créés pour la publication donnée.[ \@allow_pull = ] 'allow_pull' Specifies if pull subscriptions can be created for the given publication. allow_pull est de type nvarchar (5) , avec false comme valeur par défaut.allow_pull is nvarchar(5), with a default of FALSE. Si la valeurest false, les abonnements par extraction ne sont pas autorisés dans la publication.If false, pull subscriptions are not allowed on the publication.

[ \@allow_anonymous = ] 'allow_anonymous'Spécifie si des abonnements anonymes peuvent être créés pour la publication donnée.[ \@allow_anonymous = ] 'allow_anonymous' Specifies if anonymous subscriptions can be created for the given publication. allow_anonymous est de type nvarchar (5) , avec false comme valeur par défaut.allow_anonymous is nvarchar(5), with a default of FALSE. Si la valeur est true, immediate_synchronization doit également avoir la valeur true.If true, immediate_synchronization must also be set to true. Si la valeurest false, les abonnements anonymes ne sont pas autorisés sur la publication.If false, anonymous subscriptions are not allowed on the publication.

[ \@allow_sync_tran = ] 'allow_sync_tran'Spécifie si les abonnements avec mise à jour immédiate sont autorisés pour la publication.[ \@allow_sync_tran = ] 'allow_sync_tran' Specifies if immediate-updating subscriptions are allowed on the publication. allow_sync_tran est de type nvarchar (5) , avec false comme valeur par défaut.allow_sync_tran is nvarchar(5), with a default of FALSE. la valeur true n’est pas prise en charge pour les serveurs de publication Oracle.true is Not supported for Oracle Publishers.

[ \@autogen_sync_procs = ] 'autogen_sync_procs'Spécifie si la procédure stockée de synchronisation pour la mise à jour des abonnements est générée sur le serveur de publication.[ \@autogen_sync_procs = ] 'autogen_sync_procs' Specifies if the synchronizing stored procedure for updating subscriptions is generated at the Publisher. autogen_sync_procs est de type nvarchar (5) et peut prendre l’une des valeurs suivantes.autogen_sync_procs is nvarchar(5), and can be one of the following values.

ValueValue DescriptionDescription
truetrue Défini automatiquement lorsque la mise à jour des abonnements est activée.Set automatically when updating subscriptions is enabled.
falsefalse Défini automatiquement lorsque la mise à jour des abonnements n'est pas activée, ou pour les serveurs de publication Oracle.Set automatically when updating subscriptions is not enabled or for Oracle Publishers.
NULL (par défaut)NULL (default) La valeur par défaut est true lorsque la mise à jour des abonnements est activée et la valeur false lorsque la mise à jour des abonnements n’est pas activée.Defaults to true when updating subscriptions is enabled and to false when updating subscriptions is not enabled.

Notes

La valeur fournie par l’utilisateur pour autogen_sync_procsest remplacée en fonction des valeurs spécifiées pour allow_queued_tran et allow_sync_tran.The user supplied value for autogen_sync_procswill be overridden depending on the values specified for allow_queued_tran and allow_sync_tran.

[ \@retention = ] retentionPériode de rétention, en heures, pour l’activité d’abonnement.[ \@retention = ] retention Is the retention period in hours for subscription activity. la rétention est de type int, avec une valeur par défaut de 336 heures.retention is int, with a default of 336 hours. Si un abonnement reste inactif durant la période de rétention, il arrive à expiration et est supprimé.If a subscription is not active within the retention period, it expires and is removed. La valeur peut être supérieure à la période de rétention maximale de la base de données de distribution utilisée par le serveur de publication.The value can be greater than the maximum retention period of the distribution database used by the Publisher. Si la valeur est 0, les abonnements bien connus à la publication n’expirent jamais et sont supprimés par l’agent de nettoyage de l’abonnement expiré.If 0, well-known subscriptions to the publication will never expire and be removed by the Expired Subscription Cleanup Agent.

[ \@allow_queued_tran = ] 'allow_queued_updating'Active ou désactive la mise en file d’attente des modifications sur l’abonné jusqu’à ce qu’elles puissent être appliquées sur le serveur de publication.[ \@allow_queued_tran = ] 'allow_queued_updating' Enables or disables queuing of changes at the Subscriber until they can be applied at the Publisher. allow_queued_updating est de type nvarchar (5), avec false comme valeur par défaut.allow_queued_updating is nvarchar(5) with a default of FALSE. Si la valeurest false, les modifications au niveau de l’abonné ne sont pas mises en file d’attente.If false, changes at the Subscriber are not queued. la valeur true n’est pas prise en charge pour les serveurs de publication Oracle.true is Not supported for Oracle Publishers.

[ \@snapshot_in_defaultfolder = ] 'snapshot_in_default_folder'Spécifie si les fichiers d’instantanés sont stockés dans le dossier par défaut.[ \@snapshot_in_defaultfolder = ] 'snapshot_in_default_folder' Specifies if snapshot files are stored in the default folder. snapshot_in_default_folder est de type nvarchar (5), avec true comme valeur par défaut.snapshot_in_default_folder is nvarchar(5) with a default of TRUE. Si la valeur est true, les fichiers d’instantanés se trouvent dans le dossier par défaut.If true, snapshot files can be found in the default folder. Si la valeurest false, les fichiers d’instantanés ont été stockés à l’emplacement secondaire spécifié par alternate_snapshot_folder.If false, snapshot files have been stored in the alternate location specified by alternate_snapshot_folder. Les emplacements de remplacement peuvent se trouver sur un autre serveur, un lecteur réseau ou un support amovible (tel qu'un CD-ROM ou des disques amovibles).Alternate locations can be on another server, on a network drive, or on removable media (such as CD-ROM or removable disks). Vous pouvez également enregistrer les fichiers d'instantané sur un site FTP, pour qu'ils soient récupérés ultérieurement par l'Abonné.You can also save the snapshot files to an FTP site, for retrieval by the Subscriber at a later time. Notez que ce paramètre peut avoir la valeur true et avoir toujours un emplacement @ dans le paramètre alt_snapshot_folder.Note that this parameter can be true and still have a location in the @alt_snapshot_folder parameter. Cette combinaison indique que les fichiers d'instantané sont stockés dans les emplacements par défaut et secondaires.This combination specifies that the snapshot files will be stored in both the default and alternate locations.

[ \@alt_snapshot_folder = ] 'alternate_snapshot_folder'Spécifie l’emplacement du dossier de remplacement pour l’instantané.[ \@alt_snapshot_folder = ] 'alternate_snapshot_folder' Specifies the location of the alternate folder for the snapshot. alternate_snapshot_folder est de type nvarchar (255), avec NULL comme valeur par défaut.alternate_snapshot_folder is nvarchar(255) with a default of NULL.

[ \@pre_snapshot_script = ] 'pre_snapshot_script'Spécifie un pointeur vers un emplacement de fichier . SQL .[ \@pre_snapshot_script = ] 'pre_snapshot_script' Specifies a pointer to an .sql file location. pre_snapshot_script est de type nvarchar (255), avec NULL comme valeur par défaut.pre_snapshot_script is nvarchar(255), with a default of NULL. L'Agent de distribution exécute le script de pré-instantané avant l'exécution des scripts d'objet répliqué, lors de l'application d'un instantané sur un Abonné.The Distribution Agent will run the pre-snapshot script before running any of the replicated object scripts when applying a snapshot at a Subscriber. Le script est exécuté dans le contexte de sécurité utilisé par l'Agent de distribution lors de sa connexion à la base de données d'abonnement.The script is executed in the security context used by the Distribution Agent when connecting to the subscription database.

[ \@post_snapshot_script = ] 'post_snapshot_script'Spécifie un pointeur vers un emplacement de fichier . SQL .[ \@post_snapshot_script = ] 'post_snapshot_script' Specifies a pointer to an .sql file location. post_snapshot_script est de type nvarchar (255) , avec NULL comme valeur par défaut.post_snapshot_script is nvarchar(255), with a default of NULL. L'Agent de distribution exécute le script de post-instantané après que tous les autres scripts et données d'objet répliqué ont été appliqués lors d'une synchronisation initiale.The Distribution Agent will run the post-snapshot script after all the other replicated object scripts and data have been applied during an initial synchronization. Le script est exécuté dans le contexte de sécurité utilisé par l'Agent de distribution lors de sa connexion à la base de données d'abonnement.The script is executed in the security context used by the Distribution Agent when connecting to the subscription database.

[ \@compress_snapshot = ] 'compress_snapshot'Spécifie que l’instantané écrit à l' MicrosoftMicrosoft @emplacement alt_snapshot_folder doit être compressé au format cab.[ \@compress_snapshot = ] 'compress_snapshot' Specifies that the snapshot that is written to the @alt_snapshot_folder location is to be compressed into the MicrosoftMicrosoft CAB format. compress_snapshot est de type nvarchar (5) , avec false comme valeur par défaut.compress_snapshot is nvarchar(5), with a default of FALSE. false spécifie que l’instantané ne sera pas compressé; true spécifie que l’instantané sera compressé.false specifies that the snapshot will not be compressed; true specifies that the snapshot will be compressed. Les fichiers d'instantané de plus de 2 Go (gigaoctets) ne peuvent pas être compressés.Snapshot files that are larger than 2 gigabytes (GB) cannot be compressed. Les fichiers d'instantané compressés sont décompressés là où s'exécute l'Agent de distribution ; les abonnements par extraction de données (pull) sont en général utilisés avec des instantanés compressés et les fichiers sont décompressés sur l'Abonné.Compressed snapshot files are uncompressed at the location where the Distribution Agent runs; pull subscriptions are typically used with compressed snapshots so that files are uncompressed at the Subscriber. L'instantané se trouvant dans le dossier par défaut ne peut pas être compressé.The snapshot in the default folder cannot be compressed.

[ \@ftp_address = ] 'ftp_address'Adresse réseau du service FTP du serveur de distribution.[ \@ftp_address = ] 'ftp_address' Is the network address of the FTP service for the Distributor. ftp_address est de type sysname, avec NULL comme valeur par défaut.ftp_address is sysname, with a default of NULL. Indique l'emplacement à partir duquel l'Agent de distribution ou l'Agent de fusion d'un abonné peut extraire les fichiers d'instantané de la publication.Specifies where publication snapshot files are located for the Distribution Agent or Merge Agent of a subscriber to pick up. Étant donné que cette propriété est stockée pour chaque publication, chaque publication peut avoir un ftp_addressdifférent.Since this property is stored for each publication, each publication can have a different ftp_address. La publication doit prendre en charge la propagation des instantanés à l'aide du protocole FTP.The publication must support propagating snapshots using FTP.

[ \@ftp_port = ] ftp_portNuméro de port du service FTP du serveur de distribution.[ \@ftp_port = ] ftp_port Is the port number of the FTP service for the Distributor. ftp_port est de type int, avec 21 comme valeur par défaut.ftp_port is int, with a default of 21. Spécifie l'emplacement à partir duquel l'Agent de distribution ou l'Agent de fusion d'un Abonné peut extraire les fichiers d'instantané de la publication.Specifies where the publication snapshot files are located for the Distribution Agent or Merge Agent of a subscriber to pick up. Étant donné que cette propriété est stockée pour chaque publication, chaque publication peut avoir sa propre ftp_port.Since this property is stored for each publication, each publication can have its own ftp_port.

[ \@ftp_subdirectory = ] 'ftp_subdirectory'Spécifie l’emplacement où les fichiers d’instantanés seront disponibles pour la Agent de distribution ou Agent de fusion de l’abonné à récupérer si la publication prend en charge la propagation d’instantanés à l’aide de FTP.[ \@ftp_subdirectory = ] 'ftp_subdirectory' Specifies where the snapshot files will be available for the Distribution Agent or Merge Agent of subscriber to pick up if the publication supports propagating snapshots using FTP. ftp_subdirectory est de type nvarchar (255) , avec NULL comme valeur par défaut.ftp_subdirectory is nvarchar(255), with a default of NULL. Étant donné que cette propriété est stockée pour chaque publication, chaque publication peut avoir son propre ftp_subdirctory ou choisir d’avoir un sous-répertoire, indiqué par une valeur null.Since this property is stored for each publication, each publication can have its own ftp_subdirctory or choose to have no subdirectory, indicated with a NULL value.

[ \@ftp_login = ] 'ftp_login'Nom d’utilisateur utilisé pour la connexion au service FTP.[ \@ftp_login = ] 'ftp_login' Is the username used to connect to the FTP service. ftp_login est de type sysname, avec Anonymous comme valeur par défaut.ftp_login is sysname, with a default of ANONYMOUS.

[ \@ftp_password = ] 'ftp_password'Mot de passe de l’utilisateur utilisé pour la connexion au service FTP.[ \@ftp_password = ] 'ftp_password' Is the user password used to connect to the FTP service. ftp_password est de type sysname, avec NULL comme valeur par défaut.ftp_password is sysname, with a default of NULL.

[ \@allow_dts = ] 'allow_dts'Spécifie que la publication autorise les transformations de données.[ \@allow_dts = ] 'allow_dts' Specifies that the publication allows data transformations. Vous pouvez spécifier un package DTS lors de la création d'un abonnement.You can specify a DTS package when creating a subscription. allow_transformable_subscriptions est de type nvarchar (5) et sa valeur par défaut est false, ce qui n’autorise pas les transformations DTS.allow_transformable_subscriptions is nvarchar(5) with a default of FALSE, which does not allow DTS transformations. Quand allow_dts a la valeur true, sync_method doit être défini sur character ou concurrent_c.When allow_dts is true, sync_method must be set to either character or concurrent_c.

la valeur true n’est pas prise en charge pour les serveurs de publication Oracle.true is not supported for Oracle Publishers.

[ \@allow_subscription_copy = ] 'allow_subscription_copy'Active ou désactive la possibilité de copier les bases de données d’abonnement qui s’abonnent à cette publication.[ \@allow_subscription_copy = ] 'allow_subscription_copy' Enables or disables the ability to copy the subscription databases that subscribe to this publication. allow_subscription_copy est de typenvarchar (5) , avec false comme valeur par défaut.allow_subscription_copy isnvarchar(5), with a default of FALSE.

[ \@conflict_policy = ] 'conflict_policy'Spécifie la stratégie de résolution des conflits suivie lorsque l’option d’abonné avec mise à jour en attente est utilisée.[ \@conflict_policy = ] 'conflict_policy' Specifies the conflict resolution policy followed when the queued updating subscriber option is used. conflict_policy est de type nvarchar (100) avec NULL comme valeur par défaut et peut prendre l’une des valeurs suivantes.conflict_policy is nvarchar(100) with a default of NULL, and can be one of the following values.

ValueValue DescriptionDescription
pub gagnepub wins Le serveur de publication remporte le conflit.Publisher wins the conflict.
Sub-initsub reinit Réinitialisez l'abonnement.Reinitialize the subscription.
sous WINSsub wins L'Abonné remporte le conflit.Subscriber wins the conflict.
NULL (par défaut)NULL (default) Si la valeur est NULL et que la publication est une publication d’instantané, la stratégie par défaut devient Sub-init.If NULL, and the publication is a snapshot publication, the default policy becomes sub reinit. Si la valeur est NULL et que la publication n’est pas une publication d’instantané, la valeur par défaut est pub WINS.If NULL and the publication is not a snapshot publication, the default becomes pub wins.

Non pris en charge pour les serveurs de publication Oracle.Not supported for Oracle Publishers.

[ \@centralized_conflicts = ] 'centralized_conflicts'Spécifie si les enregistrements en conflit sont stockés sur le serveur de publication.[ \@centralized_conflicts = ] 'centralized_conflicts' Specifies if conflict records are stored on the Publisher. centralized_conflicts est de type nvarchar (5) , avec true comme valeur par défaut.centralized_conflicts is nvarchar(5), with a default of TRUE. Si la valeur est true, les enregistrements en conflit sont stockés sur le serveur de publication.If true, conflict records are stored at the Publisher. Si la valeurest false, les enregistrements en conflit sont stockés sur le serveur de publication et sur l’abonné à l’origine du conflit.If false, conflict records are stored at both the publisher and at the subscriber that caused the conflict. Non pris en charge pour les serveurs de publication Oracle.Not supported for Oracle Publishers.

[ \@conflict_retention = ] conflict_retentionSpécifie la période de rétention des conflits, en jours.[ \@conflict_retention = ] conflict_retention Specifies the conflict retention period, in days. Il s'agit de la période pendant laquelle les métadonnées en conflit sont stockées pour la réplication transactionnelle d'égal à égal et les abonnements mis à jour en attente.This is the period of time that conflict metadata is stored for peer-to-peer transactional replication and queued updating subscriptions. conflict_retention est de type int, avec 14 comme valeur par défaut.conflict_retention is int, with a default of 14. Non pris en charge pour les serveurs de publication Oracle.Not supported for Oracle Publishers.

[ \@queue_type = ] 'queue_type'Spécifie le type de file d’attente utilisé.[ \@queue_type = ] 'queue_type' Specifies which type of queue is used. queue_type est de type nvarchar (10) , avec NULL comme valeur par défaut et peut prendre l’une des valeurs suivantes.queue_type is nvarchar(10), with a default of NULL, and can be one of these values.

ValueValue DescriptionDescription
sqlsql Utilise SQL ServerSQL Server pour stocker les transactions.Use SQL ServerSQL Server to store transactions.
NULL (par défaut)NULL (default) La valeur par défaut est SQL, qui spécifie d’utiliser SQL ServerSQL Server pour stocker des transactions.Defaults to sql, which specifies to use SQL ServerSQL Server to store transactions.

Notes

La prise en charge de l'utilisation de MicrosoftMicrosoft Message Queuing a été arrêtée.Support for using MicrosoftMicrosoft Message Queuing has been discontinued. Si vous spécifiez la valeur MSMQ , vous obtenez un avertissement, et la réplication définit automatiquement la valeur sur SQL.Specifying a value of msmq will result in a warning, and replication will automatically set the value to sql.

Non pris en charge pour les serveurs de publication Oracle.Not supported for Oracle Publishers.

[ \@add_to_active_directory = ] 'add\to_active_directory'Ce paramètre est déconseillé et n’est pris en charge que pour la compatibilité descendante des scripts.[ \@add_to_active_directory = ] 'add\to_active_directory' This parameter has been deprecated and is only supported for the backward compatibility of scripts. Vous ne pouvez plus ajouter d'informations de publication à MicrosoftMicrosoft Active Directory.You can no longer add publication information to the MicrosoftMicrosoft Active Directory.

[ \@logreader_job_name = ] 'logreader_agent_name'Nom d’un travail d’agent existant.[ \@logreader_job_name = ] 'logreader_agent_name' Is the name of an existing agent job. logreader_agent_name est de type sysname, avec NULL comme valeur par défaut.logreader_agent_name is sysname, with a default value of NULL. Ce paramètre n'est spécifié que lorsque l'Agent de lecture du journal doit utiliser un travail existant et non pas un travail nouvellement créé.This parameter is only specified when the Log Reader Agent will use an existing job instead of a new one being created.

[ \@qreader_job_name = ] 'queue_reader_agent_name'Nom d’un travail d’agent existant.[ \@qreader_job_name = ] 'queue_reader_agent_name' Is the name of an existing agent job. queue_reader_agent_name est de type sysname, avec NULL comme valeur par défaut.queue_reader_agent_name is sysname, with a default value of NULL. Ce paramètre n'est spécifié que lorsque l'Agent de lecture de file d'attente doit utiliser un travail existant et non pas un travail nouvellement créé.This parameter is only specified when the Queue Reader Agent will use an existing job instead of a new one being created.

[ \@publisher = ] 'publisher'Spécifie un serveur SQL ServerSQL Server de publication non-.[ \@publisher = ] 'publisher' Specifies a non- SQL ServerSQL Server publisher. Publisher est de type sysname, avec NULL comme valeur par défaut.publisher is sysname, with a default of NULL.

Notes

l' éditeur ne doit pas être utilisé lors de l’ajout SQL ServerSQL Server d’une publication à un serveur de publication.publisher should not be used when adding a publication to a SQL ServerSQL Server Publisher.

[ \@allow_initialize_from_backup = ] 'allow_initialize_from_backup'Indique si les abonnés peuvent initialiser un abonnement à cette publication à partir d’une sauvegarde plutôt que d’un instantané initial.[ \@allow_initialize_from_backup = ] 'allow_initialize_from_backup' Indicates if Subscribers can initialize a subscription to this publication from a backup rather than an initial snapshot. allow_initialize_from_backup est de type nvarchar (5) et peut prendre l’une des valeurs suivantes:allow_initialize_from_backup is nvarchar(5), and can be one of these values:

ValueValue DescriptionDescription
truetrue Autorise l'initialisation à partir d'une sauvegarde.Enables initialization from a backup.
falsefalse Interdit l'initialisation à partir d'une sauvegarde.Disables initialization from a backup.
NULL (par défaut)NULL (default) La valeur par défaut est true pour une publication dans une topologie de réplication d’égal à égal et false pour toutes les autres publications.Defaults to true for a publication in a peer-to-peer replication topology and false for all other publications.

Pour plus d’informations, consultez Initialiser un abonnement transactionnel sans instantané.For more information, see Initialize a Transactional Subscription Without a Snapshot.

Avertissement

Afin d'éviter les données d'abonnés manquantes, lorsque vous utilisez sp_addpublication avec @allow_initialize_from_backup = N'true', utilisez toujours @immediate_sync = N'true'.To avoid missing subscriber data, when using sp_addpublication with @allow_initialize_from_backup = N'true', always use @immediate_sync = N'true'.

[ \@replicate_ddl = ] replicate_ddlIndique si la réplication de schéma est prise en charge pour la publication.[ \@replicate_ddl = ] replicate_ddl Indicates if schema replication is supported for the publication. replicate_ddl est de type int, avec 1 comme valeur SQL ServerSQL Server par défaut pour les serveurs de SQL ServerSQL Server publication et 0 pour les serveurs de publication non-.replicate_ddl is int, with a default of 1 for SQL ServerSQL Server Publishers and 0 for non- SQL ServerSQL Server Publishers. 1 indique que les instructions DDL (Data Definition Language) exécutées sur le serveur de publication sont répliquées, et 0 indique que les instructions DDL ne sont pas répliquées.1 indicates that data definition language (DDL) statements executed at the publisher are replicated, and 0 indicates that DDL statements are not replicated. La réplication de schéma n’est pas prise en charge pour les serveurs de publication Oracle.Schema replication is not supported for Oracle Publishers. Pour plus d’informations, consultez Modifier le schéma dans les bases de données de publication.For more information, see Make Schema Changes on Publication Databases.

Le paramètre replicate_ddl est respecté lorsqu’une instruction DDL ajoute une colonne. @The @replicate_ddl parameter is honored when a DDL statement adds a column. Le paramètre replicate_ddl est ignoré lorsqu’une instruction DDL modifie ou supprime une colonne pour les raisons suivantes. @The @replicate_ddl parameter is ignored when a DDL statement alters or drops a column for the following reasons.

  • Lorsqu’une colonne est supprimée, sysarticlecolumns doit être mis à jour pour empêcher les nouvelles instructions DML d’inclure la colonne supprimée, ce qui provoquerait l’échec de l’agent de distribution.When a column is dropped, sysarticlecolumns must be updated to prevent new DML statements from including the dropped column which would cause the distribution agent to fail. Le paramètre replicate_ddl est ignoré, car la réplication doit toujours répliquer la modification de schéma. @The @replicate_ddl parameter is ignored because replication must always replicate the schema change.

  • Lorsqu'une colonne est modifiée, le type de données source ou la possibilité d'une valeur NULL peuvent avoir changé et les instructions DML peuvent contenir une valeur non compatible avec la table sur l'abonné.When a column is altered, the source data type or nullability might have changed, causing DML statements to contain a value that may not be compatible with the table at the subscriber. Ces instructions DML peuvent entraîner l'échec de l'agent de distribution.Such DML statements might cause distribution agent to fail. Le paramètre replicate_ddl est ignoré, car la réplication doit toujours répliquer la modification de schéma. @The @replicate_ddl parameter is ignored because replication must always replicate the schema change.

  • Lorsqu’une instruction DDL ajoute une nouvelle colonne, sysarticlecolumns n’inclut pas la nouvelle colonne.When a DDL statement adds a new column, sysarticlecolumns does not include the new column. Les instructions DML n'essayeront pas de répliquer les données pour la nouvelle colonne.DML statements will not try to replicate data for the new column. Le paramètre est respecté parce que la réplication ou la réplication DDL est acceptable.The parameter is honored because either replicating or not replicating the DDL is acceptable.

[ \@enabled_for_p2p = ] 'enabled_for_p2p'Permet d’utiliser la publication dans une topologie de réplication d’égal à égal.[ \@enabled_for_p2p = ] 'enabled_for_p2p' Enables the publication to be used in a peer-to-peer replication topology. enabled_for_p2p est de type nvarchar (5) , avec false comme valeur par défaut.enabled_for_p2p is nvarchar(5), with a default of FALSE. la valeur true indique que la publication prend en charge la réplication d’égal à égal.true indicates that the publication supports peer-to-peer replication. Lorsque vous affectez à enabled_for_p2p la valeur true, les restrictions suivantes s’appliquent:When setting enabled_for_p2p to true, the following restrictions apply:

  • allow_anonymous doit avoir la valeur false.allow_anonymous must be false.

  • allow_dts doit avoir la valeur false.allow_dts must be false.

  • allow_initialize_from_backup doit avoir la valeur true.allow_initialize_from_backup must be true.

  • allow_queued_tran doit avoir la valeur false.allow_queued_tran must be false.

  • allow_sync_tran doit avoir la valeur false.allow_sync_tran must be false.

  • conflict_policy doit avoir la valeur false.conflict_policy must be false.

  • independent_agent doit avoir la valeur true.independent_agent must be true.

  • repl_freq doit être continu.repl_freq must be continuous.

  • replicate_ddl doit être 1.replicate_ddl must be 1.

Pour plus d'informations, consultez Peer-to-Peer Transactional Replication.For more information, see Peer-to-Peer Transactional Replication.

[ \@publish_local_changes_only = ] 'publish_local_changes_only' Identifié à titre d'information uniquement.Identified for informational purposes only. Non pris en charge.Not supported. La compatibilité future n'est pas garantie.Future compatibility is not guaranteed.[ \@publish_local_changes_only = ] 'publish_local_changes_only' Identifié à titre d'information uniquement.Identified for informational purposes only. Non pris en charge.Not supported. La compatibilité future n'est pas garantie.Future compatibility is not guaranteed.

[ \@enabled_for_het_sub = ] 'enabled_for_het_sub'Permet à la publication de prendre enSQL ServerSQL Server charge les abonnés non-.[ \@enabled_for_het_sub = ] 'enabled_for_het_sub' Enables the publication to support non-SQL ServerSQL Server Subscribers. enabled_for_het_sub est de type nvarchar (5), avec false comme valeur par défaut.enabled_for_het_sub is nvarchar(5) with a default value of FALSE. La valeur true signifie que la publication prend en charge lesSQL ServerSQL Server abonnés non-.A value of true means that the publication supports non-SQL ServerSQL Server Subscribers. Lorsque enabled_for_het_sub a la valeur true, les restrictions suivantes s’appliquent:When enabled_for_het_sub is true, the following restrictions apply:

  • allow_initialize_from_backup doit avoir la valeur false.allow_initialize_from_backup must be false.

  • allow_push doit avoir la valeur true.allow_push must be true.

  • allow_queued_tran doit avoir la valeur false.allow_queued_tran must be false.

  • allow_subscription_copy doit avoir la valeur false.allow_subscription_copy must be false.

  • allow_sync_tran doit avoir la valeur false.allow_sync_tran must be false.

  • autogen_sync_procs doit avoir la valeur false.autogen_sync_procs must be false.

  • conflict_policy doit avoir la valeur null.conflict_policy must be NULL.

  • enabled_for_internet doit avoir la valeur false.enabled_for_internet must be false.

  • enabled_for_p2p doit avoir la valeur false.enabled_for_p2p must be false.

  • ftp_address doit avoir la valeur null.ftp_address must be NULL.

  • ftp_subdirectory doit avoir la valeur null.ftp_subdirectory must be NULL.

  • ftp_password doit avoir la valeur null.ftp_password must be NULL.

  • pre_snapshot_script doit avoir la valeur null.pre_snapshot_script must be NULL.

  • post_snapshot_script doit avoir la valeur null.post_snapshot_script must be NULL.

  • replicate_ddl doit être égal à 0.replicate_ddl must be 0.

  • qreader_job_name doit avoir la valeur null.qreader_job_name must be NULL.

  • queue_type doit avoir la valeur null.queue_type must be NULL.

  • sync_method ne peut pas être natif ou concurrent.sync_method cannot be native or concurrent.

Pour plus d’informations, consultez Non-SQL Server Subscribers.For more information, see Non-SQL Server Subscribers.

[ \@p2p_conflictdetection = ] 'p2p_conflictdetection'Permet à l’Agent de distribution de détecter des conflits si la publication est activée pour la réplication d’égal à égal.[ \@p2p_conflictdetection = ] 'p2p_conflictdetection' Enables the Distribution Agent to detect conflicts if the publication is enabled for peer-to-peer replication. p2p_conflictdetection est de type nvarchar (5) et sa valeur par défaut est true.p2p_conflictdetection is nvarchar(5) with a default value of TRUE. Pour plus d’informations, voir Conflict Detection in Peer-to-Peer Replication.For more information, see Conflict Detection in Peer-to-Peer Replication.

[ \@p2p_originator_id = ] p2p_originator_idSpécifie un ID pour un nœud dans une topologie d’égal à égal.[ \@p2p_originator_id = ] p2p_originator_id Specifies an ID for a node in a peer-to-peer topology. p2p_originator_id est de type int, avec NULL comme valeur par défaut.p2p_originator_id is int, with a default of NULL. Cet ID est utilisé pour la détection de conflit si p2p_conflictdetection a la valeur true.This ID is used for conflict detection if p2p_conflictdetection is set to TRUE. Spécifiez un ID positif différent de zéro qui n’a jamais été utilisé dans la topologie.Specify a positive, non-zero ID that has never been used in the topology. Pour obtenir la liste des ID qui ont déjà été utilisés, exécutez sp_help_peerconflictdetection.For a list of IDs that have already been used, execute sp_help_peerconflictdetection.

[ \@p2p_continue_onconflict = ] 'p2p_continue_onconflict'Détermine si le Agent de distribution continue à traiter les modifications après la détection d’un conflit.[ \@p2p_continue_onconflict = ] 'p2p_continue_onconflict' Determines whether the Distribution Agent continues to process changes after a conflict is detected. p2p_continue_onconflict est de type nvarchar (5), avec false comme valeur par défaut.p2p_continue_onconflict is nvarchar(5) with a default value of FALSE.

Attention

Nous vous recommandons de conserver la valeur par défaut FALSE.We recommend that you use the default value of FALSE. Lorsque cette option a la valeur TRUE, l'Agent de distribution tente de converger les données dans la topologie en appliquant la ligne en conflit du nœud doté de l'ID d'appelant le plus élevé.When this option is set to TRUE, the Distribution Agent tries to converge data in the topology by applying the conflicting row from the node that has the highest originator ID. Cette méthode ne garantit pas la convergence.This method does not guarantee convergence. Vous devez vous assurer que la topologie est cohérente après la détection d'un conflit.You should make sure that the topology is consistent after a conflict is detected. Pour plus d'informations, consultez « Gestion des conflits » dans Conflict Detection in Peer-to-Peer Replication.For more information, see "Handling Conflicts" in Conflict Detection in Peer-to-Peer Replication.

[ \@allow_partition_switch = ] 'allow_partition_switch'Spécifie si ALTER TABLE... Les instructions SWITCH peuvent être exécutées sur la base de données publiée.[ \@allow_partition_switch = ] 'allow_partition_switch' Specifies whether ALTER TABLE...SWITCH statements can be executed against the published database. allow_partition_switch est de type nvarchar (5), avec false comme valeur par défaut.allow_partition_switch is nvarchar(5) with a default value of FALSE. Pour plus d’informations, consultez Répliquer des tables et des index partitionnés.For more information, see Replicate Partitioned Tables and Indexes.

[ \@replicate_partition_switch = ] 'replicate_partition_switch'Spécifie si ALTER TABLE... Les instructions SWITCH exécutées sur la base de données publiée doivent être répliquées sur les abonnés.[ \@replicate_partition_switch = ] 'replicate_partition_switch' Specifies whether ALTER TABLE...SWITCH statements that are executed against the published database should be replicated to Subscribers. replicate_partition_switch est de type nvarchar (5), avec false comme valeur par défaut.replicate_partition_switch is nvarchar(5) with a default value of FALSE. Cette option est valide uniquement si allow_partition_switch a la valeur true.This option is valid only if allow_partition_switch is set to TRUE.

Valeurs des codes de retourReturn Code Values

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

NotesRemarks

sp_addpublication est utilisée dans la réplication d’instantané et la réplication transactionnelle.sp_addpublication is used in snapshot replication and transactional replication.

S’il existe plusieurs publications qui publient le même objet de base de données, seules les publications dont la valeur replicate_ddl est 1 RÉPLIQUENT les instructions ALTER TABLE, ALTER VIEW, ALTER PROCEDURE, ALTER FUNCTION et ALTER TRIGGER DDL.If multiple publications exist that publish the same database object, only publications with a replicate_ddl value of 1 will replicate ALTER TABLE, ALTER VIEW, ALTER PROCEDURE, ALTER FUNCTION, and ALTER TRIGGER DDL statements. Cependant, une instruction ALTER TABLE DROP COLUMN DDL sera répliquée par toutes les publications publiant la colonne supprimée.However, an ALTER TABLE DROP COLUMN DDL statement will be replicated by all publications that are publishing the dropped column.

Si la réplication DDL est activée (replicate_ddl = 1) pour une publication, afin d’effectuer des modifications DDL non répliquées dans la publication, vous devez d’abord exécuter sp_changepublication pour définir replicate_ddl sur 0.With DDL replication enabled (replicate_ddl = 1) for a publication, in order to make non-replicating DDL changes to the publication, sp_changepublication must first be executed to set replicate_ddl to 0. Après l’émission des instructions DDL non répliquées, sp_changepublication peut être réexécuté pour réactiver la réplication DDL.After the non-replicating DDL statements have been issued, sp_changepublication can be run again to turn DDL replication back on.

ExempleExample

-- To avoid storing the login and password in the script file, the values 
-- are passed into SQLCMD as scripting variables. 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".

DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
DECLARE @login AS sysname;
DECLARE @password AS sysname;
SET @publicationDB = N'AdventureWorks'; 
SET @publication = N'AdvWorksProductTran'; 
-- Windows account used to run the Log Reader and Snapshot Agents.
SET @login = $(Login); 
-- This should be passed at runtime.
SET @password = $(Password); 

-- Enable transactional or snapshot replication on the publication database.
EXEC sp_replicationdboption 
    @dbname=@publicationDB, 
    @optname=N'publish',
    @value = N'true';

-- Execute sp_addlogreader_agent to create the agent job. 
EXEC sp_addlogreader_agent 
    @job_login = @login, 
    @job_password = @password,
    -- Explicitly specify the use of Windows Integrated Authentication (default) 
    -- when connecting to the Publisher.
    @publisher_security_mode = 1;

-- Create a new transactional publication with the required properties. 
EXEC sp_addpublication 
    @publication = @publication, 
    @status = N'active',
    @allow_push = N'true',
    @allow_pull = N'true',
    @independent_agent = N'true';

-- Create a new snapshot job for the publication, using a default schedule.
EXEC sp_addpublication_snapshot 
    @publication = @publication, 
    @job_login = @login, 
    @job_password = @password,
    -- Explicitly specify the use of Windows Integrated Authentication (default) 
    -- when connecting to the Publisher.
    @publisher_security_mode = 1;
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_addpublication.Only members of the sysadmin fixed server role or db_owner fixed database role can execute sp_addpublication. Les connexions d'authentification Windows doivent disposer d'un compte d'utilisateur dans la base de données, représentant leur compte d'utilisateur Windows.Windows authentication logins must have a user account in the database representing their Windows user account. Un compte d'utilisateur représentant un groupe Windows n'est pas suffisant.A user account representing a Windows group is not sufficient.

Voir aussiSee Also

sp_addlogreader_agent (Transact-SQL) sp_addlogreader_agent (Transact-SQL)
sp_addpublication_snapshot (Transact-SQL) sp_addpublication_snapshot (Transact-SQL)
sp_changepublication (Transact-SQL) sp_changepublication (Transact-SQL)
sp_droppublication (Transact-SQL) sp_droppublication (Transact-SQL)
sp_helppublication (Transact-SQL) sp_helppublication (Transact-SQL)
sp_replicationdboption (Transact-SQL) sp_replicationdboption (Transact-SQL)
Publier des données et des objets de base de données Publish Data and Database Objects
Procédures stockées de réplication (Transact-SQL)Replication Stored Procedures (Transact-SQL)