sp_changesubstatus (Transact-SQL)sp_changesubstatus (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

Modifie l'état d'un abonné existant.Changes the status of an existing Subscriber. 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_changesubstatus [ [ @publication = ] 'publication' ]  
    [ , [ @article = ] 'article' ]  
    [ , [ @subscriber = ] 'subscriber' ]  
        , [ @status = ] 'status'  
    [ , [ @previous_status = ] 'previous_status' ]  
    [ , [ @destination_db = ] 'destination_db' ]  
    [ , [ @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' ]  
    [ , [ @distribution_jobid = ] distribution_jobid ]  
    [ , [ @from_auto_sync = ] from_auto_sync ]  
    [ , [ @ignore_distributor = ] ignore_distributor ]  
    [ , [ @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 ]  
    [ , [ @skipobjectactivation = ] skipobjectactivation  
  [ , [ @distribution_job_name= ] 'distribution_job_name' ]  
    [ , [ @publisher = ] 'publisher' ]  

ArgumentsArguments

[ @publication = ] 'publication'Nom de la publication.[ @publication = ] 'publication' Is the name of the publication. publication est de % type sysname, avec la valeur par défaut.publication is sysname, with a default of %. Si la publication n’est pas spécifiée, toutes les publications sont affectées.If publication is not specified, all publications are affected.

[ @article = ] 'article'Nom de l’article.[ @article = ] 'article' Is the name of the article. Doit être unique et propre à la publication.It must be unique to the publication. article est de % type sysname, avec la valeur par défaut.article is sysname, with a default of %. Si l’article n’est pas spécifié, tous les articles sont affectés.If article is not specified, all articles are affected.

[ @subscriber = ] 'subscriber'Nom de l’abonné dont l’État doit être modifié.[ @subscriber = ] 'subscriber' Is the name of the Subscriber to change the status of. Subscriber est de % type sysname, avec la valeur par défaut.subscriber is sysname, with a default of %. Si l' abonné n’est pas spécifié, l’état de tous les abonnés à l’article spécifié est modifié.If subscriber is not specified, status is changed for all Subscribers to the specified article.

[ @status = ] 'status'État de l’abonnement dans la table SYSSUBSCRIPTIONS .[ @status = ] 'status' Is the subscription status in the syssubscriptions table. Status est de type sysname, sans valeur par défaut et peut prendre l’une des valeurs suivantes.status is sysname, with no default, and can be one of these values.

ValueValue DescriptionDescription
activeactive L'abonné est synchronisé et reçoit des données.Subscriber is synchronized and is receiving data.
inactiveinactive L'entrée de l'abonné existe, sans abonnement.Subscriber entry exists without a subscription.
abonnésubscribed L'abonné demande des données mais n'est pas encore synchronisé.Subscriber is requesting data, but is not yet synchronized.

[ @previous_status = ] 'previous_status'État précédent de l’abonnement.[ @previous_status = ] 'previous_status' Is the previous status for the subscription. previous_status est de type sysname, avec NULL comme valeur par défaut.previous_status is sysname, with a default of NULL. Ce paramètre vous permet de modifier les abonnements qui ont actuellement cet État, en autorisant les fonctions de groupe sur un ensemble spécifique d’abonnements (par exemple, enredéfinissant tous les abonnements actifs sur subscribed).This parameter allows you to change any subscriptions that currently have that status, thus allowing group functions on a specific set of subscriptions (for example, setting all active subscriptions back to subscribed).

[ @destination_db = ] 'destination_db'Nom de la base de données de destination.[ @destination_db = ] 'destination_db' Is the name of the destination database. destination_db est de % type sysname, avec la valeur par défaut.destination_db is sysname, with a default of %.

[ @frequency_type = ] frequency_typeFréquence de planification de la tâche de distribution.[ @frequency_type = ] frequency_type Is the frequency with which to schedule the distribution task. frequency_type est de type int, avec NULL comme valeur par défaut.frequency_type is int, with a default of NULL.

[ @frequency_interval = ] frequency_intervalValeur à appliquer à la fréquence définie par frequency_type.[ @frequency_interval = ] frequency_interval 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_intervalDate de la tâche de distribution.[ @frequency_relative_interval = ] frequency_relative_interval Is the date of the distribution task. 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_factorFacteur de récurrence utilisé par frequency_type.[ @frequency_recurrence_factor = ] frequency_recurrence_factor 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_subdayIndique, en minutes, la fréquence de replanification au cours de la période définie.[ @frequency_subday = ] frequency_subday 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
NULL (par défaut)NULL (default)

[ @frequency_subday_interval = ] frequency_subday_intervalIntervalle de frequency_subday.[ @frequency_subday_interval = ] frequency_subday_interval 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_dayHeure du jour de la première planification de la tâche de distribution, au format HHMMSS.[ @active_start_time_of_day = ] active_start_time_of_day Is the time of day when the distribution task 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_dayHeure de la journée à laquelle la tâche de distribution cesse d’être planifiée, au format HHMMSS.[ @active_end_time_of_day = ] active_end_time_of_day Is the time of day when the distribution task 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_dateDate à laquelle la tâche de distribution est planifiée pour la première fois, au format AAAAMMJJ.[ @active_start_date = ] active_start_date Is the date when the distribution task 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_dateDate à laquelle la tâche de distribution cesse d’être planifiée, au format AAAAMMJJ.[ @active_end_date = ] active_end_date Is the date when the distribution task 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'Est une invite de commandes facultative.[ @optional_command_line = ] 'optional_command_line' Is an optional command prompt. 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.

[ @distribution_jobid = ] distribution_jobidID du travail du Agent de distribution sur le serveur de distribution pour l’abonnement lors de la modification de l’état de l’abonnement de inactif à actif.[ @distribution_jobid = ] distribution_jobid Is the job ID of the Distribution Agent at the Distributor for the subscription when changing the subscription status from inactive to active. Dans les autres cas, il n'est pas défini.In other cases, it is not defined. Si plus d'un Agent de distribution est impliqué dans un seul appel à cette procédure stockée, le résultat n'est pas défini.If more than one Distribution Agent is involved in a single call to this stored procedure, the result is not defined. distribution_jobid est de type Binary (16) , avec NULL comme valeur par défaut.distribution_jobid is binary(16), with a default of NULL.

[ @from_auto_sync = ] from_auto_sync 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.[ @from_auto_sync = ] from_auto_sync 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.

[ @ignore_distributor = ] ignore_distributor 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.[ @ignore_distributor = ] ignore_distributor 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.

[ @offloadagent = ] remote_agent_activation

Notes

L'activation d'agent distant est déconseillée et n'est plus prise en charge.Remote agent activation has been deprecated and is no longer supported. Ce paramètre est uniquement pris en charge pour assurer la compatibilité descendante des scripts.This parameter is supported only to maintain backward compatibility of scripts. La définition de remote_agent_activation sur une valeur autre que 0 génère une erreur.Setting remote_agent_activation to a value other than 0 generates an error.

[ @offloadserver = ] 'remote_agent_server_name'

Notes

L'activation d'agent distant est déconseillée et n'est plus prise en charge.Remote agent activation has been deprecated and is no longer supported. Ce paramètre est uniquement pris en charge pour assurer la compatibilité descendante des scripts.This parameter is supported only to maintain backward compatibility of scripts. La définition de remote_agent_server_name sur n’importe quelle valeur non null génère une erreur.Setting remote_agent_server_name to any non-NULL value generates an error.

[ @dts_package_name = ] 'dts_package_name'Spécifie le nom du package DTS (Data Transformation Services).[ @dts_package_name = ] 'dts_package_name' 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 un package nommé DTSPub_Package , vous devez @dts_package_name = N'DTSPub_Package'spécifier.For example, for a package named DTSPub_Package you would specify @dts_package_name = N'DTSPub_Package'.

[ @dts_package_password = ] 'dts_package_password'Spécifie le mot de passe du package.[ @dts_package_password = ] 'dts_package_password' Specifies the password on the package. dts_package_password est de type sysname , avec NULL comme valeur par défaut, qui spécifie que la propriété de mot de passe doit rester inchangée.dts_package_password is sysname with a default of NULL, which specifies that the password property is to be left unchanged.

Notes

Un package DTS doit avoir un mot de passe.A DTS package must have a password.

[ @dts_package_location = ] dts_package_locationSpécifie l’emplacement du package.[ @dts_package_location = ] dts_package_location Specifies the package location. dts_package_location est de type int, avec 0comme valeur par défaut.dts_package_location is an int, with a default of 0. Si la valeur est 0, l’emplacement du package est sur le serveur de distribution.If 0, the package location is at the Distributor. Si 1, l’emplacement du package est sur l’abonné.If 1, the package location is at the Subscriber. L’emplacement du package peut être Distributor ou Subscriber.The location of the package can be distributor or subscriber.

[ @skipobjectactivation = ] skipobjectactivation 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.[ @skipobjectactivation = ] skipobjectactivation 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.

[ @distribution_job_name = ] 'distribution_job_name'Nom du travail de distribution.[ @distribution_job_name = ] 'distribution_job_name' Is the name of the distribution job. distribution_job_name est de type sysname, avec NULL comme valeur par défaut.distribution_job_name is sysname, with a default of NULL.

[ @publisher = ] 'publisher'Spécifie un serveur MicrosoftMicrosoft de publication non- SQL ServerSQL Server .[ @publisher = ] 'publisher' 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 utilisé lors de la modification SQL ServerSQL Server des propriétés d’un article sur un serveur de publication.publisher should not be used when changing article properties on a SQL ServerSQL Server Publisher.

Valeurs des codes de retourReturn Code Values

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

NotesRemarks

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

sp_changesubstatus modifie l’état de l’abonné dans la table SYSSUBSCRIPTIONS avec l’état modifié.sp_changesubstatus changes the status of the Subscriber in the syssubscriptions table with the changed status. Si nécessaire, elle met à jour l’état de l’article dans la table sysarticles pour indiquer qu’elle est active ou inactive.If required, it updates the article status in the sysarticles table to indicate active or inactive. Si nécessaire, il définit l’indicateur de réplication activé ou désactivé dans la table sysobjects pour la table répliquée.If required, it sets the replication flag on or off in the sysobjects table for the replicated table.

AutorisationsPermissions

Seuls les membres du rôle serveur fixe sysadmin , du rôle de base de données fixe db_owner ou du créateur de l’abonnement peuvent exécuter sp_changesubstatus.Only members of the sysadmin fixed server role, db_owner fixed database role, or the creator of the subscription can execute sp_changesubstatus.

Voir aussiSee Also

sp_addsubscription (Transact-SQL) sp_addsubscription (Transact-SQL)
sp_dropsubscription (Transact-SQL) sp_dropsubscription (Transact-SQL)
sp_helpdistributor (Transact-SQL) sp_helpdistributor (Transact-SQL)
sp_helpsubscription (Transact-SQL) sp_helpsubscription (Transact-SQL)
Procédures stockées système (Transact-SQL)System Stored Procedures (Transact-SQL)