sp_replmonitorsubscriptionpendingcmds (Transact-SQL)
S’applique à : SQL Server Azure SQL Managed Instance
Renvoie des informations sur le nombre de commandes en attente pour un abonnement à une publication transactionnelle et une estimation approximative de la durée de leur traitement. Cette procédure stockée renvoie une ligne pour chaque abonnement renvoyé. Cette procédure stockée, utilisée pour surveiller la réplication, est exécutée sur la base de données du serveur de distribution.
Conventions de la syntaxe Transact-SQL
Syntaxe
sp_replmonitorsubscriptionpendingcmds [ @publisher = ] 'publisher'
, [ @publisher_db = ] 'publisher_db'
, [ @publication = ] 'publication'
, [ @subscriber = ] 'subscriber'
, [ @subscriber_db = ] 'subscriber_db'
, [ @subscription_type = ] subscription_type
, [ @subdb_version = ] subdb_version
Arguments
[ @publisher = ] 'publisher'
Nom du serveur de publication. publisher est sysname, sans valeur par défaut.
[ @publisher_db = ] 'publisher_db'
Nom de la base de données publiée. publisher_db est sysname, sans valeur par défaut.
[ @publication = ] 'publication'
Nom de la publication. la publication est sysname, sans valeur par défaut.
[ @subscriber = ] 'subscriber'
Nom de l'Abonné. l’abonné est sysname, sans valeur par défaut.
[ @subscriber_db = ] 'subscriber_db'
Nom de la base de données d’abonnement. subscriber_db est sysname, sans valeur par défaut.
[ @subscription_type = ] subscription_type
Type d’abonnement. subscription_type est int, sans valeur par défaut et peut être l’une de ces valeurs.
Valeur | Description |
---|---|
0 |
Abonnement par envoi de données (push) |
1 |
Abonnement par extraction de données (pull) |
[ @subdb_version = ] subdb_version
Base dbversion
de données d’abonnement. subdb_version est un paramètre facultatif de type int, avec une valeur par défaut de 0.
Jeu de résultats
Nom de la colonne | Type de données | Description |
---|---|---|
pendingcmdcount |
int | Nombre de commandes en attente pour l'abonnement. |
estimatedprocesstime |
int | Estimer le nombre de secondes nécessaires pour remettre toutes les commandes en attente à l’abonné. |
Valeurs des codes de retour
0
(réussite) ou 1
(échec).
Notes
sp_replmonitorsubscriptionpendingcmds
est utilisé avec la réplication transactionnelle.
Avant SQL Server 2019 (15.x) CU17, sp_replmonitorsubscriptionpendingcmds
n’a pas été pris en charge avec la réplication d’égal à égal et a retourné un nombre incorrect de commandes en attente lorsqu’elles sont utilisées pour interroger la topologie de réplication d’égal à égal. Dans SQL Server 2019 (15.x) CU 17, la prise en charge a été ajoutée pour rendre sp_replmonitorsubscriptionpendingcmds
compatible avec les publications d’égal à égal.
Toutefois, même avec SQL Server 2019 (15.x) CU17 ou version ultérieure, sp_replmonitorsubscriptionpendingcmds
peut signaler un nombre incorrect de commandes en attente lorsqu’elles sont utilisées avec la réplication peer-à-peer si la table MSrepl_originators
contient une entrée obsolète d’une version incorrecte de la base de données d’abonnement. Pour corriger le problème, supprimez toutes les entrées obsolètes ou MSrepl_originators
transmettez la valeur correcte dbversion
de la base de données d’abonnement lors de l’utilisation de l’argument subdb_version
de la sp_replmonitorsubscriptionpendingcmds
procédure stockée.
Consultez KB5017009 pour plus d’informations sur la façon de déterminer dbversion
.
autorisations
Seuls les membres du rôle serveur fixe sysadmin sur le serveur de distribution ou les membres du rôle de base de données fixe db_owner dans la base de données de distribution peuvent s’exécuter sp_replmonitorsubscriptionpendingcmds
. Les membres de la liste d’accès à la publication pour une publication qui utilise la base de données de distribution peuvent s’exécuter sp_replmonitorsubscriptionpendingcmds
pour retourner des commandes en attente pour cette composition.