sp_changesubstatus (Transact-SQL)

S’applique à :SQL ServerAzure SQL Managed Instance

Modifie l'état d'un abonné existant. Cette procédure stockée est exécutée sur le serveur de publication dans la base de données de publication.

Conventions de la syntaxe Transact-SQL

Syntaxe

  
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' ]  

Arguments

[ @publication = ] 'publication' Nom de la composition. la publication est sysname, avec la valeur par défaut %. Si la publication n’est pas spécifiée, toutes les publications sont affectées.

[ @article = ] 'article' Nom de l’article. Doit être unique et propre à la publication. article est sysname, avec une valeur par défaut .% Si l’article n’est pas spécifié, tous les articles sont affectés.

[ @subscriber = ] 'subscriber' Nom de l’Abonné à modifier l’état. l’abonné est sysname, avec la valeur par défaut %. Si l’abonné n’est pas spécifié, l’état est modifié pour tous les Abonnés à l’article spécifié.

[ @status = ] 'status' État de l’abonnement dans la table syssubscriptions . l’état est sysname, sans valeur par défaut et peut être l’une de ces valeurs.

Valeur Description
active L'abonné est synchronisé et reçoit des données.
inactive L'entrée de l'abonné existe, sans abonnement.
Souscrit L'abonné demande des données mais n'est pas encore synchronisé.

[ @previous_status = ] 'previous_status' État précédent de l’abonnement. previous_status est sysname, avec la valeur null par défaut. Ce paramètre vous permet de modifier tous les abonnements qui ont actuellement cet état, ce qui autorise les fonctions de groupe sur un ensemble spécifique d’abonnements (par exemple, en définissant tous les abonnements actifs sur abonnés).

[ @destination_db = ] 'destination_db' Nom de la base de données de destination. destination_db est sysname, avec la valeur par défaut %.

[ @frequency_type = ] frequency_type Fréquence à laquelle planifier la tâche de distribution. frequency_type est int, avec une valeur par défaut null.

[ @frequency_interval = ] frequency_interval Valeur à appliquer à la fréquence définie par frequency_type. frequency_interval est int, avec la valeur NULL par défaut.

[ @frequency_relative_interval = ] frequency_relative_interval Date de la tâche de distribution. Ce paramètre est utilisé lorsque frequency_type est défini sur 32 (relatif mensuel). frequency_relative_interval est int et peut être l’une de ces valeurs.

Valeur Description
1 Premier
2 Second
4 Troisième
8 Quatrième
16 Dernier
NULL (par défaut)

[ @frequency_recurrence_factor = ] frequency_recurrence_factor Facteur de périodicité utilisé par frequency_type. frequency_recurrence_factor est int, avec une valeur par défaut null.

[ @frequency_subday = ] frequency_subday Est la fréquence, en minutes, de replanifier pendant la période définie. frequency_subday est int et peut être l’une de ces valeurs.

Valeur Description
1 Une fois
2 Second
4 Minute
8 Hour
NULL (par défaut)

[ @frequency_subday_interval = ] frequency_subday_interval Intervalle de frequency_subday. frequency_subday_interval est int, avec une valeur par défaut null.

[ @active_start_time_of_day = ] active_start_time_of_day Heure du jour où la tâche de distribution est planifiée pour la première fois, mise en forme comme HHmmss. active_start_time_of_day est int, avec la valeur null par défaut.

[ @active_end_time_of_day = ] active_end_time_of_day Heure du jour où la tâche de distribution cesse d’être planifiée, mise en forme comme HHmmss. active_end_time_of_day est int, avec une valeur par défaut null.

[ @active_start_date = ] active_start_date Date à laquelle la tâche de distribution est planifiée pour la première fois, mise en forme comme yyyyMMdd. active_start_date est int, avec la valeur null par défaut.

[ @active_end_date = ] active_end_date Date à laquelle la tâche de distribution cesse d’être planifiée, mise en forme comme yyyyMMdd. active_end_date est int, avec une valeur par défaut null.

[ @optional_command_line = ] 'optional_command_line' Invite de commandes facultative. optional_command_line est nvarchar(4000), avec la valeur NULL par défaut.

[ @distribution_jobid = ] distribution_jobidID de travail du Agent de distribution sur le serveur de distribution pour l’abonnement lors de la modification de l’état de l’abonnement de l’état inactif à actif. Dans les autres cas, il n'est pas défini. 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. distribution_jobid est binary(16), avec la valeur NULL par défaut.

[ @from_auto_sync = ] from_auto_sync

Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.

[ @ignore_distributor = ] ignore_distributor

Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.

[ @offloadagent = ] remote_agent_activation

Remarque

L'activation d'agent distant est déconseillée et n'est plus prise en charge. Ce paramètre est uniquement pris en charge pour assurer la compatibilité descendante des scripts. La définition de remote_agent_activation sur une valeur autre que 0 génère une erreur.

[ @offloadserver = ] 'remote_agent_server_name'

Remarque

L'activation d'agent distant est déconseillée et n'est plus prise en charge. Ce paramètre est uniquement pris en charge pour assurer la compatibilité descendante des scripts. La définition de remote_agent_server_name sur n’importe quelle valeur non NULL génère une erreur.

[ @dts_package_name = ] 'dts_package_name' Spécifie le nom du package DTS (Data Transformation Services). dts_package_name est un nom sysname, avec une valeur par défaut null. Par exemple, pour un package nommé DTSPub_Package vous devez spécifier @dts_package_name = N'DTSPub_Package'.

[ @dts_package_password = ] 'dts_package_password' Spécifie le mot de passe sur le package. dts_package_password est sysname avec une valeur par défaut null, qui spécifie que la propriété de mot de passe doit être laissée inchangée.

Remarque

Un package DTS doit avoir un mot de passe.

[ @dts_package_location = ] dts_package_location Spécifie l’emplacement du package. dts_package_location est un int, avec une valeur par défaut de 0. Si 0, l’emplacement du package se trouve sur le serveur de distribution. Si 1, l’emplacement du package se trouve sur l’Abonné. L’emplacement du package peut être le serveur de distribution ou l’abonné.

[ @skipobjectactivation = ] skipobjectactivation

Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.

[ @distribution_job_name = ] 'distribution_job_name' Nom du travail de distribution. distribution_job_name est sysname, avec la valeur null par défaut.

[ @publisher = ] 'publisher' Spécifie un serveur de publication non-Microsoft SQL Server. publisher est sysname, avec une valeur par défaut null.

Remarque

Publisher ne doit pas être utilisé lors de la modification des propriétés d’article sur un serveur de publication SQL Server.

Codet de retour

0 (réussite) ou 1 (échec)

Notes

sp_changesubstatus est utilisé dans la réplication instantané et la réplication transactionnelle.

sp_changesubstatus modifie l’état de l’Abonné dans la table syssubscriptions avec l’état modifié. Si nécessaire, il met à jour l’état de l’article dans la table sysarticles pour indiquer actif ou inactif. 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.

Autorisations

Seuls les membres du rôle serveur fixe sysadmin , db_owner rôle de base de données fixe ou le créateur de l’abonnement peuvent exécuter sp_changesubstatus.

Voir aussi

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