sp_changesubstatus (Transact-SQL)
S’applique à : SQL Server Azure 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 = ] N'publication' ]
[ , [ @article = ] N'article' ]
[ , [ @subscriber = ] N'subscriber' ]
, [ @status = ] N'status'
[ , [ @previous_status = ] N'previous_status' ]
[ , [ @destination_db = ] N'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 = ] N'optional_command_line' ]
[ , [ @distribution_jobid = ] distribution_jobid OUTPUT ]
[ , [ @from_auto_sync = ] from_auto_sync ]
[ , [ @ignore_distributor = ] ignore_distributor ]
[ , [ @offloadagent = ] offloadagent ]
[ , [ @offloadserver = ] N'offloadserver' ]
[ , [ @dts_package_name = ] N'dts_package_name' ]
[ , [ @dts_package_password = ] N'dts_package_password' ]
[ , [ @dts_package_location = ] dts_package_location ]
[ , [ @skipobjectactivation = ] skipobjectactivation ]
[ , [ @distribution_job_name = ] N'distribution_job_name' ]
[ , [ @publisher = ] N'publisher' ]
[ , [ @ignore_distributor_failure = ] ignore_distributor_failure ]
[ ; ]
Arguments
[ @publication = ] N’publication'
Nom de la publication. @publication est sysname, avec la valeur par défaut %
. Si @publication n’est pas spécifié, toutes les publications sont affectées.
[ @article = ] N’article'
Nom de l’article. @article est sysname, avec la valeur par défaut %
. Doit être unique et propre à la publication. Si @article n’est pas spécifié, tous les articles sont affectés.
[ @subscriber = ] N’subscriber'
Nom de l’Abonné pour modifier l’état de. @subscriber est sysname, avec la valeur par défaut %
. Si @subscriber n’est pas spécifié, l’état est modifié pour tous les Abonnés à l’article spécifié.
[ @status = ] N’status'
État de l’abonnement dans la syssubscriptions
table. @status est sysname 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. |
subscribed |
L’abonné demande des données, mais n’est pas encore synchronisé. |
[ @previous_status = ] N’previous_status'
État précédent de l’abonnement. @previous_status est sysname, avec la valeur par défaut NULL
. 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 subscribed
).
[ @destination_db = ] N’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
Spécifie la fréquence avec laquelle planifier la tâche de distribution. @frequency_type est int, avec la 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 par défaut NULL
.
[ @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 |
First |
2 |
Second |
4 |
Third |
8 |
Quatrième |
16 |
Dernière |
NULL (valeur par défaut) |
[ @frequency_recurrence_factor = ] frequency_recurrence_factor
Facteur de périodicité utilisé par @frequency_type. @frequency_recurrence_factor est int, avec la valeur par défaut NULL
.
[ @frequency_subday = ] frequency_subday
Spécifie 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 |
Heure |
NULL (valeur par défaut) |
[ @frequency_subday_interval = ] frequency_subday_interval
Intervalle de @frequency_subday. @frequency_subday_interval est int, avec la 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 par défaut NULL
.
[ @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 la 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 en tant que yyyyMMdd
. @active_start_date est int, avec une valeur par défaut de NULL
.
[ @active_end_date = ] active_end_date
Date à laquelle la tâche de distribution cesse d’être planifiée, mise en forme en tant que yyyyMMdd
. @active_end_date est int, avec une valeur par défaut de NULL
.
[ @optional_command_line = ] N’optional_command_line'
Invite de commandes facultative. @optional_command_line est nvarchar(4000), avec la valeur par défaut NULL
.
[ @distribution_jobid = ] sortie de distribution_jobid
ID de travail de l’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 d’autres cas, il n’est pas défini. Si plusieurs Agent de distribution sont impliqués dans un seul appel à cette procédure stockée, le résultat n’est pas défini. @distribution_jobid est un paramètre OUTPUT de type binary(16).
[ @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 = ] déchargement
Ce paramètre est déconseillé et est maintenu pour la compatibilité descendante des scripts. Définir @offloadagent sur une valeur autre que 0
la génération d’une erreur.
[ @offloadserver = ] N’offloadserver'
Ce paramètre est déconseillé et est maintenu pour la compatibilité descendante des scripts. La définition de @offloadserver sur n’importe quelle valeur non NULL génère une erreur.
[ @dts_package_name = ] N’dts_package_name'
Spécifie le nom du package DTS (Data Transformation Services). @dts_package_name est sysname, avec la 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 = ] N’dts_package_password'
Spécifie le mot de passe du package. @dts_package_password est nvarchar(524), 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 int, avec la valeur par défaut 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 distributor
ou subscriber
.
[ @skipobjectactivation = ] skipobjectactivation
Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.
[ @distribution_job_name = ] N’distribution_job_name'
Nom du travail de distribution. @distribution_job_name est sysname, avec la valeur par défaut NULL
.
[ @publisher = ] N’publisher'
Spécifie un serveur de publication non-SQL Server. @publisher est sysname, avec la valeur par défaut NULL
.
@publisher ne doit pas être utilisé lors de la modification des propriétés d’article sur un serveur de publication SQL Server.
[ @ignore_distributor_failure = ] ignore_distributor_failure
Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.
Valeurs des codes de retour
0
(réussite) or 1
(échec).
Notes
sp_changesubstatus
est utilisé dans la réplication d’instantanés et la réplication transactionnelle.
sp_changesubstatus
modifie l’état de l’Abonné dans la syssubscriptions
table avec l’état modifié. Si nécessaire, il met à jour l’état de l’article dans le sysarticles
tableau pour indiquer actif ou inactif. Si nécessaire, il définit l’indicateur de réplication activé ou désactivé dans la sysobjects
table 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 s’exécuter sp_changesubstatus
.