sp_addsubscription (Transact-SQL)sp_addsubscription (Transact-SQL)

S’APPLIQUE À : ouiSQL Server ouiAzure SQL Database nonAzure SQL Data Warehouse nonParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Ajoute un abonnement à une publication et définit l'état de l'abonné.Adds a subscription to a publication and sets the Subscriber status. 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_addsubscription [ @publication = ] 'publication'  
    [ , [ @article = ] 'article']  
    [ , [ @subscriber = ] 'subscriber' ]  
    [ , [ @destination_db = ] 'destination_db' ]  
        [ , [ @sync_type = ] 'sync_type' ]  
    [ , [ @status = ] 'status'  
        [ , [ @subscription_type = ] 'subscription_type' ]  
    [ , [ @update_mode = ] 'update_mode' ]  
    [ , [ @loopback_detection = ] 'loopback_detection' ]  
    [ , [ @frequency_type = ] frequency_type ]  
    [ , [ @frequency_interval = ] frequency_interval ]  
    [ , [ @frequency_relative_interval = ] frequency_relative_interval ]  
    [ , [ @frequency_recurrence_factor = ] frequency_recurrence_factor ]  
    [ , [ @frequency_subday = ] frequency_subday ]  
    [ , [ @frequency_subday_interval = ] frequency_subday_interval ]  
    [ , [ @active_start_time_of_day = ] active_start_time_of_day ]  
    [ , [ @active_end_time_of_day = ] active_end_time_of_day ]  
    [ , [ @active_start_date = ] active_start_date ]  
    [ , [ @active_end_date = ] active_end_date ]  
    [ , [ @optional_command_line = ] 'optional_command_line' ]  
    [ , [ @reserved = ] 'reserved' ]  
    [ , [ @enabled_for_syncmgr= ] 'enabled_for_syncmgr' ]  
    [ , [ @offloadagent= ] remote_agent_activation]  
    [ , [ @offloadserver= ] 'remote_agent_server_name' ]  
    [ , [ @dts_package_name= ] 'dts_package_name' ]  
    [ , [ @dts_package_password= ] 'dts_package_password' ]  
    [ , [ @dts_package_location= ] 'dts_package_location' ]  
    [ , [ @distribution_job_name= ] 'distribution_job_name' ]  
    [ , [ @publisher = ] 'publisher' ]  
    [ , [ @backupdevicetype = ] 'backupdevicetype' ]  
    [ , [ @backupdevicename = ] 'backupdevicename' ]  
    [ , [ @mediapassword = ] 'mediapassword' ]  
    [ , [ @password = ] 'password' ]  
    [ , [ @fileidhint = ] fileidhint ]  
    [ , [ @unload = ] unload ]  
    [ , [ @subscriptionlsn = ] subscriptionlsn ]  
    [ , [ @subscriptionstreams = ] subscriptionstreams ]  
    [ , [ @subscriber_type = ] subscriber_type ]  
    [ , [ @memory_optimized = ] memory_optimized ]  

ArgumentsArguments

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

[ @article=] 'article'[ @article=] 'article'
Nom de l'article auquel la publication est abonnée.Is the article to which the publication is subscribed. article est de type sysname, avec All comme valeur par défaut.article is sysname, with a default of all. Si la valeur définie est all (tous), l'abonnement s'ajoute à tous les articles de la publication.If all, a subscription is added to all articles in that publication. Seules les valeurs all ou NULL sont prises en charge par les serveurs de publication Oracle.Only values of all or NULL are supported for Oracle Publishers.

[ @subscriber=] «abonné»[ @subscriber=] 'subscriber'
Nom de l'Abonné.Is the name of the Subscriber. Subscriber est de type sysname, avec NULL comme valeur par défaut.subscriber is sysname, with a default of NULL.

[ @destination_db=] 'destination_db'[ @destination_db=] 'destination_db'
Nom de la base de données de destination dans laquelle les données répliquées seront placées.Is the name of the destination database in which to place replicated data. destination_db est de type sysname, avec NULL comme valeur par défaut.destination_db is sysname, with a default of NULL. Si la valeur est NULL, destination_db est défini sur le nom de la base de données de publication.When NULL, destination_db is set to the name of the publication database. Pour les serveurs de publication Oracle, destination_db doit être spécifié.For Oracle Publishers, destination_db must be specified. Pour un abonné non-SQL Server, spécifiez la valeur (destination par défaut) pour destination_db.For a non-SQL Server Subscriber, specify a value of (default destination) for destination_db.

[ @sync_type=] 'sync_type'[ @sync_type=] 'sync_type'
Type de synchronisation d'abonnement.Is the subscription synchronization type. sync_type est de type nvarchar (255) et peut prendre l’une des valeurs suivantes:sync_type is nvarchar(255), and can be one of the following values:

ValueValue DescriptionDescription
nonenone L'abonnement dispose déjà du schéma et des données initiales destinées aux tables publiées.Subscriber already has the schema and initial data for published tables.

Remarque : Cette option est dépréciée.Note: This option has been deprecated. Utilisez plutôt la prise en charge de la réplication uniquement.Use replication support only instead.
automatic (valeur par défaut)automatic (default) Le schéma et les données initiales des tables publiées sont transférés en premier lieu vers l'Abonné.Schema and initial data for published tables are transferred to the Subscriber first.
replication support onlyreplication support only Fournit une génération automatique au niveau de l'Abonné des procédures stockées personnalisées de l'article et des déclencheurs qui prennent en charge les abonnements de mise à jour, le cas échéant.Provides automatic generation at the Subscriber of article custom stored procedures and triggers that support updating subscriptions, if appropriate. Considère que l'Abonné dispose déjà du schéma et des données initiales pour les tables publiées.Assumes that the Subscriber already has the schema and initial data for published tables. Lors de la configuration d'une topologie de réplication transactionnelle d'égal à égal, veillez à ce que les données de tous les nœuds de la topologie soient identiques.When configuring a peer-to-peer transactional replication topology, ensure that the data at all nodes in the topology is identical. Pour plus d'informations, consultez Peer-to-Peer Transactional Replication.For more information, see Peer-to-Peer Transactional Replication.

Non pris en charge pour les abonnements à des publications non-SQL Server.Not supported for subscriptions to non-SQL Server publications.
initialize with backupinitialize with backup Le schéma et les données initiales destinées aux tables publiées proviennent d'une sauvegarde de la base de données de publication.Schema and initial data for published tables are obtained from a backup of the publication database. L'abonné est censé avoir accès à une sauvegarde de la base de données de publication.Assumes that the Subscriber has access to a backup of the publication database. L’emplacement de la sauvegarde et le type de support pour la sauvegarde sont spécifiés par backupdevicename et BackupDeviceType.The location of the backup and media type for the backup are specified by backupdevicename and backupdevicetype. Lors de l'utilisation de cette option, il n'est pas nécessaire de suspendre la topologie de réplication transactionnelle d'égal à égal pendant la configuration.When using this option, a peer-to-peer transactional replication topology need not be quiesced during configuration.

Non pris en charge pour les abonnements à des publications non-SQL Server.Not supported for subscriptions to non-SQL Server publications.
initialize from lsninitialize from lsn Utilisé lorsque vous ajoutez un nœud à une topologie de réplication transactionnelle d'égal à égal.Used when you are adding a node to a peer-to-peer transactional replication topology. Utilisé avec la propriété @subscriptionlsn pour vérifier que toutes les transactions appropriées sont répliquées sur le nouveau nœud.Used with @subscriptionlsn to make sure that all relevant transactions are replicated to the new node. Considère que l'Abonné dispose déjà du schéma et des données initiales pour les tables publiées.Assumes that the Subscriber already has the schema and initial data for published tables. Pour plus d'informations, consultez Peer-to-Peer Transactional Replication.For more information, see Peer-to-Peer Transactional Replication.

Notes

Les données et les tables système sont toujours transférées.System tables and data are always transferred.

[ @status=] 'État'[ @status=] 'status'
État de l'abonnement.Is the subscription status. Status est de type sysname, avec NULL comme valeur par défaut.status is sysname, with a default value of NULL. Lorsque ce paramètre n'est pas défini explicitement, la réplication lui donne automatiquement l'une des valeurs suivantes.When this parameter is not explicitly set, replication automatically sets it to one of these values.

ValueValue DescriptionDescription
activeactive L'abonnement est initialisé et prêt à accepter des modifications.Subscription is initialized and ready to accept changes. Cette option est définie lorsque la valeur de sync_type est None, Initialize with backup ou Replication support only.This option is set when the value of sync_type is none, initialize with backup, or replication support only.
subscribedsubscribed L'abonnement doit être initialisé.Subscription needs to be initialized. Cette option est définie lorsque la valeur de sync_type est Automatic.This option is set when the value of sync_type is automatic.

[ @subscription_type=] 'subscription_type'[ @subscription_type=] 'subscription_type'
Type d’abonnement.Is the type of subscription. subscription_type est de type nvarchar (4) , avec Push comme valeur par défaut.subscription_type is nvarchar(4), with a default of push. Peut avoir la valeur push ou pull (émission ou extraction de données).Can be push or pull. Les agents de distribution des abonnements envoyés résident sur le serveur de distribution et les agents de distribution des abonnements par extraction résident sur l’abonné.The Distribution Agents of push subscriptions reside at the Distributor, and the Distribution Agents of pull subscriptions reside at the Subscriber. l’opération subscription_type peut être extraite pour créer un abonnement par extraction nommé connu du serveur de publication.subscription_type can be pull to create a named pull subscription that is known to the Publisher. Pour plus d’informations, consultez S’abonner à des publications.For more information, see Subscribe to Publications.

Notes

Les abonnements anonymes ne doivent pas utiliser cette procédure stockée.Anonymous subscriptions do not need to use this stored procedure.

[ @update_mode=] 'update_mode'[ @update_mode=] 'update_mode'
Type de mise à jour. update_mode est de type nvarchar (30) et peut prendre l’une des valeurs suivantes.Is the type of update.update_mode is nvarchar(30), and can be one of these values.

ValueValue DescriptionDescription
read only (valeur par défaut)read only (default) L'abonnement est en lecture seule.The subscription is read-only. Les modifications effectuées chez l'abonné ne sont pas renvoyées au serveur de publication.The changes at the Subscriber are not sent to the Publisher.
sync transync tran Active la prise en charge des abonnements de mise à jour immédiate.Enables support for immediate updating subscriptions. Non pris en charge pour les serveurs de publication Oracle.Not supported for Oracle Publishers.
queued tranqueued tran Active l'abonnement pour la mise à jour en attente.Enables the subscription for queued updating. Les modifications de données peuvent être effectuées chez l'abonné, stockées dans une file d'attente, puis propagées vers le serveur de publication.Data modifications can be made at the Subscriber, stored in a queue, and then propagated to the Publisher. Non pris en charge pour les serveurs de publication Oracle.Not supported for Oracle Publishers.
Basculementfailover Active l'abonnement pour la mise à jour immédiate avec mise à jour en attente sous forme de basculement.Enables the subscription for immediate updating with queued updating as a failover. Les modifications de données peuvent être effectuées chez l'abonné, puis propagées immédiatement vers le serveur de publication.Data modifications can be made at the Subscriber and propagated to the Publisher immediately. Si le serveur de publication et l'abonné ne sont pas connectés, il est possible de changer de mode de mise à jour afin que les modifications de données effectuées chez l'abonné soient stockées dans une file d'attente jusqu'à ce que l'abonné et le serveur de publication soient reconnectés.If the Publisher and Subscriber are not connected, the updating mode can be changed so that data modifications made at the Subscriber are stored in a queue until the Subscriber and Publisher are reconnected. Non pris en charge pour les serveurs de publication Oracle.Not supported for Oracle Publishers.
queued failoverqueued failover Active l'abonnement en tant qu'abonnement de mise à jour en attente, avec possibilité de passer au mode de mise à jour immédiate.Enables the subscription as a queued updating subscription with the ability to change to immediate updating mode. Les modifications de données peuvent être effectuées chez l'abonné et stockées dans une file d'attente, jusqu'à ce qu'une connexion soit établie entre l'abonné et le serveur de publication.Data modifications can be made at the Subscriber and stored in a queue until a connection is established between the Subscriber and Publisher. Lorsqu'une connexion permanente est établie, il est possible de passer au mode de mise à jour immédiate.When a continuous connection is established the updating mode can be changed to immediate updating. Non pris en charge pour les serveurs de publication Oracle.Not supported for Oracle Publishers.

Notez que les valeurs synctran et Queued TRAN ne sont pas autorisées si la publication faisant l’objet d’un abonnement autorise les services DTS.Note that the values synctran and queued tran are not allowed if the publication being subscribed to allows DTS.

[ @loopback_detection=] 'loopback_detection'[ @loopback_detection=] 'loopback_detection'
Indique si l'Agent de distribution envoie des transactions à un abonné qui en est l'auteur.Specifies if the Distribution Agent sends transactions that originated at the Subscriber back to the Subscriber. loopback_detection est de type nvarchar (5) et peut prendre l’une des valeurs suivantes.loopback_detection is nvarchar(5), and can be one of these values.

ValueValue DescriptionDescription
truetrue L'Agent de distribution n'envoie pas à l'abonné ses propres transactions.Distribution Agent does not send transactions originated at the Subscriber back to the Subscriber. Utilisé avec la réplication transactionnelle bidirectionnelle.Used with bidirectional transactional replication. Pour plus d’informations, voir Bidirectional Transactional Replication.For more information, see Bidirectional Transactional Replication.
falsefalse L'Agent de distribution renvoie à l'abonné ses propres transactions.Distribution Agent sends transactions that originated at the Subscriber back to the Subscriber.
NULL (par défaut)NULL (default) Prend automatiquement la valeur true pour un Abonné SQL ServerSQL Server et false pour un Abonné non-SQL ServerSQL Server.Automatically set to true for a SQL ServerSQL Server Subscriber and false for a non-SQL ServerSQL Server Subscriber.

[ @frequency_type=] frequency_type[ @frequency_type=] frequency_type
Fréquence de planification de la tâche de distribution.Is the frequency with which to schedule the distribution task. frequency_type est de type int et peut prendre l’une des valeurs suivantes.frequency_type is int, and can be one of these values.

ValueValue DescriptionDescription
11 Une foisOne time
22 À la demandeOn demand
44 Tous les joursDaily
88 SemaineWeekly
1616 MoisMonthly
3232 Mensuelle relativeMonthly relative
64 (valeur par défaut)64 (default) Démarrage automatiqueAutostart
128128 PériodiqueRecurring

[ @frequency_interval=] frequency_interval[ @frequency_interval=] frequency_interval
Valeur à appliquer à la fréquence définie par frequency_type.Is the value to apply to the frequency set by frequency_type. frequency_interval est de type int, avec NULL comme valeur par défaut.frequency_interval is int, with a default of NULL.

[ @frequency_relative_interval=] frequency_relative_interval[ @frequency_relative_interval=] frequency_relative_interval
Date de l'Agent de distribution.Is the date of the Distribution Agent. Ce paramètre est utilisé lorsque frequency_type a la valeur 32 (mensuelle relative).This parameter is used when frequency_type is set to 32 (monthly relative). frequency_relative_interval est de type intet peut prendre l’une des valeurs suivantes.frequency_relative_interval is int, and can be one of these values.

ValueValue DescriptionDescription
11 PremièreFirst
22 SecondeSecond
44 TroisièmeThird
88 QuatrièmeFourth
1616 DernièreLast
NULL (par défaut)NULL (default)

[ @frequency_recurrence_factor=] frequency_recurrence_factor[ @frequency_recurrence_factor=] frequency_recurrence_factor
Facteur de récurrence utilisé par frequency_type.Is the recurrence factor used by frequency_type. frequency_recurrence_factor est de type int, avec NULL comme valeur par défaut.frequency_recurrence_factor is int, with a default of NULL.

[ @frequency_subday=] frequency_subday[ @frequency_subday=] frequency_subday
Indique, en minutes, la fréquence de replanification pendant la période définie.Is how often, in minutes, to reschedule during the defined period. frequency_subday est de type intet peut prendre l’une des valeurs suivantes.frequency_subday is int, and can be one of these values.

ValueValue DescriptionDescription
11 Une foisOnce
22 SecondeSecond
44 MinuteMinute
88 HeureHour
NULLNULL

[ @frequency_subday_interval=] frequency_subday_interval[ @frequency_subday_interval=] frequency_subday_interval
Intervalle de frequency_subday.Is the interval for frequency_subday. frequency_subday_interval est de type int, avec NULL comme valeur par défaut.frequency_subday_interval is int, with a default of NULL.

[ @active_start_time_of_day=] active_start_time_of_day[ @active_start_time_of_day=] active_start_time_of_day
Heure à laquelle l’Agent de distribution est planifié pour la première fois, au format HHMMSS.Is the time of day when the Distribution Agent is first scheduled, formatted as HHMMSS. active_start_time_of_day est de type int, avec NULL comme valeur par défaut.active_start_time_of_day is int, with a default of NULL.

[ @active_end_time_of_day=] active_end_time_of_day[ @active_end_time_of_day=] active_end_time_of_day
Heure de la journée à laquelle le Agent de distribution cesse d’être planifié, au format HHMMSS.Is the time of day when the Distribution Agent stops being scheduled, formatted as HHMMSS. active_end_time_of_day est de type int, avec NULL comme valeur par défaut.active_end_time_of_day is int, with a default of NULL.

[ @active_start_date=] active_start_date[ @active_start_date=] active_start_date
Date à laquelle l’Agent de distribution est planifié pour la première fois, au format AAAAMMJJ.Is the date when the Distribution Agent is first scheduled, formatted as YYYYMMDD. active_start_date est de type int, avec NULL comme valeur par défaut.active_start_date is int, with a default of NULL.

[ @active_end_date=] active_end_date[ @active_end_date=] active_end_date
Date à laquelle l’Agent de distribution cesse d'être planifié, au format AAAAMMJJ.Is the date when the Distribution Agent stops being scheduled, formatted as YYYYMMDD. active_end_date est de type int, avec NULL comme valeur par défaut.active_end_date is int, with a default of NULL.

[ @optional_command_line=] 'optional_command_line'[ @optional_command_line=] 'optional_command_line'
Invite de commandes facultative à exécuter.Is the optional command prompt to execute. optional_command_line est de type nvarchar (4000) , avec NULL comme valeur par défaut.optional_command_line is nvarchar(4000), with a default of NULL.

[ @reserved=] 'reserved'[ @reserved=] 'reserved'

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_syncmgr=] 'enabled_for_syncmgr'[ @enabled_for_syncmgr=] 'enabled_for_syncmgr'
Indique si l’abonnement peut être synchronisé via MicrosoftMicrosoft le gestionnaire de synchronisation Windows.Is whether the subscription can be synchronized through MicrosoftMicrosoft Windows Synchronization Manager. enabled_for_syncmgr est de type nvarchar (5) , avec false comme valeur par défaut.enabled_for_syncmgr is nvarchar(5), with a default of FALSE. Si la valeur est false, l'abonnement n'est pas enregistré par le Gestionnaire de synchronisation Windows.If false, the subscription is not registered with Windows Synchronization Manager. Si la valeur est true, l'abonnement est enregistré par le Gestionnaire de synchronisation Windows et il peut ensuite être synchronisé, sans qu'il soit nécessaire de démarrer SQL Server Management StudioSQL Server Management Studio.If true, the subscription is registered with Windows Synchronization Manager and can be synchronized without starting SQL Server Management StudioSQL Server Management Studio. Non pris en charge pour les serveurs de publication Oracle.Not supported for Oracle Publishers.

[ @offloadagent= ] 'remote_agent_activation'[ @offloadagent= ] 'remote_agent_activation'
Indique si l'Agent peut être activé à distance.Specifies that the agent can be activated remotely. remote_agent_activation est de bits avec 0 comme valeur par défaut.remote_agent_activation is bit with a default of 0.

Notes

Ce paramètre est déconseillé et n'est conservé que pour la compatibilité descendante des scripts.This parameter has been deprecated and is only maintained for backward compatibility of scripts.

[ @offloadserver= ] 'remote_agent_server_name'[ @offloadserver= ] 'remote_agent_server_name'
Indique le nom réseau du serveur à utiliser pour l'activation à distance.Specifies the network name of server to be used for remote activation. remote_agent_server_nameest de type sysname, avec NULL comme valeur par défaut.remote_agent_server_nameis sysname, with a default of NULL.

[ @dts_package_name=] 'dts_package_name'[ @dts_package_name= ] 'dts_package_name'
Spécifie le nom du package DTS (Data Transformation Services).Specifies the name of the Data Transformation Services (DTS) package. dts_package_name est de type sysname , avec NULL comme valeur par défaut.dts_package_name is a sysname with a default of NULL. Par exemple, pour spécifier un package de DTSPub_Package, le paramètre est : @dts_package_name = N'DTSPub_Package'.For example, to specify a package of DTSPub_Package, the parameter would be @dts_package_name = N'DTSPub_Package'. Ce paramètre est disponible avec les abonnements envoyés.This parameter is available for push subscriptions. Pour ajouter des informations de package DTS à un abonnement extrait, utilisez sp_addpullsubscription_agent.To add DTS package information to a pull subscription, use sp_addpullsubscription_agent.

[ @dts_package_password= ] 'dts_package_password'[ @dts_package_password= ] 'dts_package_password'
Spécifie le mot de passe du package, s'il existe.Specifies the password on the package, if there is one. dts_package_password est de type sysname , avec NULL comme valeur par défaut.dts_package_password is sysname with a default of NULL.

Notes

Vous devez spécifier un mot de passe si dts_package_name est spécifié.You must specify a password if dts_package_name is specified.

[ @dts_package_location= ] 'dts_package_location'[ @dts_package_location= ] 'dts_package_location'
Spécifie l'emplacement du package.Specifies the package location. dts_package_location est de type nvarchar (12) , avec Distributor comme valeur par défaut.dts_package_location is a nvarchar(12), with a default of DISTRIBUTOR. L'emplacement du package peut prendre la valeur distributor ou subscriber.The location of the package can be distributor or subscriber.

[ @distribution_job_name=] 'distribution_job_name'[ @distribution_job_name= ] 'distribution_job_name'

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.

[ @publisher=] «éditeur»[ @publisher= ] 'publisher'
Spécifie un serveur MicrosoftMicrosoft de publication non- SQL ServerSQL Server .Specifies a non- MicrosoftMicrosoft 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 spécifié SQL ServerSQL Server pour un serveur de publication.publisher should not be specified for a SQL ServerSQL Server Publisher.

[ @backupdevicetype=] 'BackupDeviceType'[ @backupdevicetype= ] 'backupdevicetype'
Indique le type d'unité de sauvegarde utilisé lors de l'initialisation d'un Abonné à partir d'une sauvegarde.Specifies the type of backup device used when initializing a Subscriber from a backup. BackupDeviceType est de type nvarchar (20) et peut prendre l’une des valeurs suivantes:backupdevicetype is nvarchar(20), and can be one of these values:

ValueValue DescriptionDescription
logical (valeur par défaut)logical (default) L'unité de sauvegarde est une unité logique.The backup device is a logical device.
diskdisk L'unité de sauvegarde est un lecteur de disque.The backup device is disk drive.
tapetape L'unité de sauvegarde est un lecteur de bande.The backup device is a tape drive

BackupDeviceType est utilisé uniquement lorsque sync_methoda la valeur initialize_with_backup.backupdevicetype is only used when sync_methodis set to initialize_with_backup.

[ @backupdevicename=] 'backupdevicename'[ @backupdevicename= ] 'backupdevicename'
Indique le nom de l'unité utilisée lors de l'initialisation d'un Abonné à partir d'une sauvegarde.Specifies the name of the device used when initializing a Subscriber from a backup. backupdevicename est de type nvarchar (1000) , avec NULL comme valeur par défaut.backupdevicename is nvarchar(1000), with a default of NULL.

[ @mediapassword=] 'MEDIAPASSWORD'[ @mediapassword= ] 'mediapassword'
Indique un mot de passe pour le support spécifié, si un mot de passe a été défini lors du formatage du support.Specifies a password for the media set if a password was set when the media was formatted. MEDIAPASSWORD est de type sysname, avec NULL comme valeur par défaut.mediapassword is sysname, with a default value of NULL.

Notes

Cette fonctionnalité est en mode de maintenance et risque d’être supprimée dans une prochaine version de Microsoft SQL Server.This feature is in maintenance mode and may be removed in a future version of Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

[ @password=] 'mot_de_passe'[ @password= ] 'password'
Indique un mot de passe pour la sauvegarde, si un mot de passe a été défini lors de la création de celle-ci.Specifies a password for the backup if a password was set when the backup was created. Passwordest de type sysname, avec NULL comme valeur par défaut.passwordis sysname, with a default value of NULL.

[ @fileidhint= ] fileidhint[ @fileidhint= ] fileidhint
Identifie une valeur ordinale du jeu de sauvegarde à restaurer.Identifies an ordinal value of the backup set to be restored. fileidhint – est de type int, avec NULL comme valeur par défaut.fileidhint is int, with a default value of NULL.

[ @unload= ] unload[ @unload= ] unload
Indique si une unité de sauvegarde sur bande doit être déchargée une fois l'initialisation de la sauvegarde terminée.Specifies if a tape backup device should be unloaded after the initialization from back is complete. Unload est de bits, avec 1 comme valeur par défaut.unload is bit, with a default value of 1. 1 indique que la bande doit être déchargée.1 specifies that the tape should be unloaded. le déchargement est utilisé uniquement lorsque BackupDeviceType est une bande.unload is only used when backupdevicetype is tape.

[ @subscriptionlsn=] SubscriptionLSN[ @subscriptionlsn= ] subscriptionlsn
Spécifie le numéro séquentiel dans le journal auquel un abonnement doit commencer à remettre des modifications à un nœud dans une topologie de réplication transactionnelle d'égal à égal.Specifies the log sequence number (LSN) at which a subscription should start delivering changes to a node in a peer-to-peer transactional replication topology. Utilisé avec la @sync_type valeur Initialize from LSN pour s’assurer que toutes les transactions pertinentes sont répliquées vers un nouveau nœud.Used with a @sync_type value of initialize from lsn to make sure that all relevant transactions are replicated to a new node. Pour plus d'informations, consultez Peer-to-Peer Transactional Replication.For more information, see Peer-to-Peer Transactional Replication.

[ @subscriptionstreams= ] subscriptionstreams[ @subscriptionstreams= ] subscriptionstreams
Nombre de connexions autorisées par l'Agent de distribution afin d'appliquer des lots de modifications en parallèle à un Abonné, tout en conservant bon nombre des caractéristiques transactionnelles présentes lors de l'utilisation d'un thread unique.Is the number of connections allowed per Distribution Agent to apply batches of changes in parallel to a Subscriber, while maintaining many of the transactional characteristics present when using a single thread. SubscriptionStreams est de type tinyint, avec NULL comme valeur par défaut.subscriptionstreams is tinyint, with a default value of NULL. Une plage de valeurs allant de 1 à 64 est prise en charge.A range of values from 1 to 64 is supported. Ce paramètre n’est pas pris en charge SQL ServerSQL Server pour les abonnés non-, les serveurs de publication Oracle ou les abonnements d’égal à égal.This parameter is not supported for non- SQL ServerSQL Server Subscribers, Oracle Publishers or peer-to-peer subscriptions. Chaque fois que des flux d'abonnements sont utilisés, des lignes supplémentaires sont ajoutées au tableau msreplication_subscriptions (1 par flux) avec agent_id défini à NULL.Whenever subscription streams is used additional rows are added in the msreplication_subscriptions table (1 per stream) with an agent_id set to NULL.

Notes

Les flux d'abonnements ne fonctionnent pas pour les articles configurés pour fournir Transact-SQLTransact-SQL.Subscriptionstreams do not work for articles configured to deliver Transact-SQLTransact-SQL. Pour utiliser les flux d'abonnements, configurez les articles afin qu'ils fournissent des appels de procédures stockées à la place.To use subscriptionstreams, configure articles to deliver stored procedure calls instead.

[ @subscriber_type=] subscriber_type[ @subscriber_type=] subscriber_type
Type d'abonné.Is the type of Subscriber. subscriber_type est de type tinyintet peut prendre l’une des valeurs suivantes.subscriber_type is tinyint, and can be one of these values.

ValueValue DescriptionDescription
0 (valeur par défaut)0 (default) SQL ServerSQL ServerCôtéSubscriber
11 Serveur de la source de données ODBC.ODBC data source server
22 Base de données MicrosoftMicrosoft JetMicrosoftMicrosoft Jet database
33 Fournisseur OLE DBOLE DB provider

[ @memory_optimized=] memory_optimized[ @memory_optimized=] memory_optimized
Indique que l’abonnement prend en charge les tables optimisées en mémoire.Indicates that the subscription supports memory optimized tables. memory_optimized est de bits, où 1 est égal à true (l’abonnement prend en charge les tables optimisées en mémoire).memory_optimized is bit, where 1 equals true (the subscription supports memory optimized tables).

Valeurs des codes de retourReturn Code Values

0 (réussite) ou 1 (échec)0 (success) or 1 (failure)

NotesRemarks

sp_addsubscription est utilisé lors des réplications d'instantané et transactionnelle.sp_addsubscription is used in snapshot replication and transactional replication.

Lorsque sp_addsubscription est exécuté par un membre du rôle serveur fixe sysadmin pour créer un abonnement envoyé, la tâche de l'Agent de distribution est implicitement créée et s'exécute sous le compte du service Agent SQL Server.When sp_addsubscription is executed by a member of the sysadmin fixed server role to create a push subscription, the Distribution Agent job is implicitly created and runs under the SQL Server Agent service account. Nous vous recommandons d’exécuter sp_addpushsubscription_agent et de spécifier les informations d’identification d’un autre compte Windows spécifique à l' @job_login agent @job_passwordpour et.We recommend that you execute sp_addpushsubscription_agent and specify the credentials of a different, agent-specific Windows account for @job_login and @job_password. Pour plus d’informations, voir Replication Agent Security Model.For more information, see Replication Agent Security Model.

sp_addsubscription empêche les abonnés ODBC et OLE DB d'accéder aux publications qui :sp_addsubscription prevents ODBC and OLE DB Subscribers access to publications that:

  • Ont été créés avec la sync_method native dans l’appel à sp_addpublication.Were created with the native sync_method in the call to sp_addpublication.

  • Contiennent des articles qui ont été ajoutés à la publication avec la procédure stockée sp_addarticle dont la valeur de paramètre pre_creation_cmd est 3 (tronquer).Contain articles that were added to the publication with the sp_addarticle stored procedure that had a pre_creation_cmd parameter value of 3 (truncate).

  • Tentative de définition de update_mode pour la synchronisation TRAN.Attempt to set update_mode to sync tran.

  • ont un article configuré pour utiliser des instructions paramétrables.Have an article configured to use parameterized statements.

En outre, si l’option allow_queued_tran d’une publication est définie sur true (ce qui permet la mise en file d’attente des modifications sur l’abonné jusqu’à ce qu’elles puissent être appliquées sur le serveur de publication), la colonne timestamp d’un article est prédéfinie comme timestampet les modifications apportées à cette colonne sont envoyées à l’abonné.In addition, if a publication has the allow_queued_tran option set to true (which enables queuing of changes at the Subscriber until they can be applied at the Publisher), the timestamp column in an article is scripted out as timestamp, and changes on that column are sent to the Subscriber. L'abonné génère et met à jour la valeur de la colonne timestamp.The Subscriber generates and updates the timestamp column value. Pour un abonné ODBC ou OLE DB, sp_addsubscription échoue en cas de tentative d’abonnement à une publication pour laquelle allow_queued_tran a la valeur true et les Articles avec des colonnes timestamp.For an ODBC or OLE DB Subscriber, sp_addsubscription fails if an attempt is made to subscribe to a publication that has allow_queued_tran set to true and articles with timestamp columns in it.

Si un abonnement n’utilise pas de package DTS, il ne peut pas s’abonner à une publication définie sur allow_transformable_subscriptions.If a subscription does not use a DTS package, it cannot subscribe to a publication that is set to allow_transformable_subscriptions. Si la table issue de la publication doit être répliquée vers un abonnement DTS et un abonnement non-DTS, deux publications indépendantes doivent être créées : une pour chaque type d'abonnement.If the table from the publication needs to be replicated to both a DTS subscription and non-DTS subscription, two separate publications have to be created: one for each type of subscription.

Lors de la sélection des options sync_type , replication support only, initialize with backupou initialize from lsn, l'Agent de lecture du journal doit s'exécuter après l'exécution de sp_addsubscription, afin que les scripts d'installation soient écrits dans la base de données de distribution.When selecting the sync_type options replication support only, initialize with backup, or initialize from lsn, the log reader agent must run after executing sp_addsubscription, so that the set-up scripts are written to the distribution database. L'Agent de lecture du journal doit s'exécuter sous un compte membre du rôle serveur fixe sysadmin .The log reader agent must be running under an account that is a member of the sysadmin fixed server role. Lorsque l'option sync_type a la valeur Automatic, aucune action particulière de l'Agent de lecture du journal n'est requise.When the sync_type option is set to Automatic, no special log reader agent actions are required.

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_addsubscription.Only members of the sysadmin fixed server role or db_owner fixed database role can execute sp_addsubscription. Pour les abonnements par extraction de données (pull), les utilisateurs ayant une connexion à la liste d'accès aux publications peuvent exécuter sp_addsubscription.For pull subscriptions, users with logins in the publication access list can execute sp_addsubscription.

ExempleExample

-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). 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 @publication AS sysname;
DECLARE @subscriber AS sysname;
DECLARE @subscriptionDB AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @subscriber = $(SubServer);
SET @subscriptionDB = N'AdventureWorks2012Replica';

--Add a push subscription to a transactional publication.
USE [AdventureWorks2012]
EXEC sp_addsubscription 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @destination_db = @subscriptionDB, 
  @subscription_type = N'push';

--Add an agent job to synchronize the push subscription.
EXEC sp_addpushsubscription_agent 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @subscriber_db = @subscriptionDB, 
  @job_login = $(Login), 
  @job_password = $(Password);
GO

Voir aussiSee Also

Create a Push Subscription Create a Push Subscription
Créer un abonnement pour un abonné non-SQL Server Create a Subscription for a Non-SQL Server Subscriber
S’abonner aux Publications Subscribe to Publications
sp_addpushsubscription_agent (Transact-SQL) sp_addpushsubscription_agent (Transact-SQL)
sp_changesubstatus (Transact-SQL) sp_changesubstatus (Transact-SQL)
sp_dropsubscription (Transact-SQL) sp_dropsubscription (Transact-SQL)
sp_helpsubscription (Transact-SQL) sp_helpsubscription (Transact-SQL)
Procédures stockées système (Transact-SQL)System Stored Procedures (Transact-SQL)