sp_replmonitorhelpsubscription (Transact-SQL)
S’applique à : SQL Server Azure SQL Managed Instance
Renvoie des informations sur l'état actuel d'abonnements appartenant à une ou plusieurs publications du serveur de publication, et retourne une ligne pour chaque abonnement retourné. 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_replmonitorhelpsubscription
[ [ @publisher = ] N'publisher' ]
[ , [ @publisher_db = ] N'publisher_db' ]
[ , [ @publication = ] N'publication' ]
[ , [ @publication_type = ] publication_type ]
[ , [ @mode = ] mode ]
[ , [ @topnum = ] topnum ]
[ , [ @exclude_anonymous = ] exclude_anonymous ]
[ , [ @refreshpolicy = ] refreshpolicy ]
[ ; ]
Arguments
[ @publisher = ] N’publisher'
Nom du serveur de publication dont l’état est surveillé. @publisher est sysname, avec la valeur par défaut NULL
. Si la valeur est Null, les informations sont retournées pour tous les serveurs de publication qui utilisent le serveur de distribution.
[ @publisher_db = ] N’publisher_db'
Nom de la base de données publiée. @publisher_db est sysname, avec la valeur par défaut NULL
. Si NULL
, les informations sont retournées pour toutes les bases de données publiées sur le serveur de publication.
[ @publication = ] N’publication'
Nom de la publication surveillée. @publication est sysname, avec la valeur par défaut NULL
.
[ @publication_type = ] publication_type
Type de publication. @publication_type est int et peut être l’une de ces valeurs.
Valeur | Description |
---|---|
0 |
Publication transactionnelle. |
1 |
Publication d'instantané. |
2 |
Publication de fusion. |
NULL (valeur par défaut) |
La réplication tente de déterminer le type de publication. |
[ @mode = ] mode
Mode de filtrage à utiliser lors du renvoi des informations de surveillance d’abonnement. @mode est int et peut être l’une de ces valeurs.
Valeur | Description |
---|---|
0 (valeur par défaut) |
Retourne tous les abonnements. |
1 |
Retourne uniquement les abonnements qui ont des erreurs. |
2 |
Retourne uniquement les abonnements qui génèrent des avertissements de métrique de seuil. |
3 |
Retourne uniquement les abonnements qui présentent des erreurs ou génèrent des avertissements de métrique de seuil. |
4 |
Retourne les 25 premiers abonnements les plus performants. |
5 |
Retourne les 50 abonnements les moins performants. |
6 |
Retourne uniquement les abonnements en cours de synchronisation. |
7 |
Retourne uniquement les abonnements qui ne sont actuellement pas synchronisés. |
[ @topnum = ] topnum
Limite l'ensemble de résultats au nombre d'abonnements spécifié au début des données retournées. @topnum est int, avec la valeur par défaut NULL
.
[ @exclude_anonymous = ] exclude_anonymous
Si les abonnements par extraction anonyme sont exclus du jeu de résultats. @exclude_anonymous est bit, avec la valeur par défaut 0
.
- Valeur de
1
signifie que les abonnements anonymes sont exclus. - Une valeur de
0
signifie qu’elles sont incluses.
[ @refreshpolicy = ] refreshpolicy
Identifié à titre d'information uniquement. Non pris en charge. La compatibilité future n'est pas garantie.
Jeu de résultats
Nom de la colonne | Type de données | Description |
---|---|---|
status |
int | Examine l'état de tous les agents de réplication associés à la publication, puis retourne l'état le plus élevé dans l'ordre suivant :6 = Échec5 = Nouvelle tentative2 = Arrêté4 = Inactif3 = En cours1 = Démarré |
warning |
int | Avertissement de seuil maximal généré par un abonnement appartenant à la publication, qui peut être le résultat OR logique d'au moins l'une des valeurs suivantes.1 = expiration : un abonnement à une publication transactionnelle n’a pas été synchronisé dans le seuil de période de rétention.2 = latency - le temps nécessaire pour répliquer les données d’un serveur de publication transactionnel vers l’Abonné dépasse le seuil, en secondes.4 = mergeexpiration : un abonnement à une publication de fusion n’a pas été synchronisé dans le seuil de période de rétention.8 = mergefastrunduration - le temps nécessaire pour terminer la synchronisation d’un abonnement de fusion dépasse le seuil, en secondes, sur une connexion réseau rapide.16 = mergeslowrunduration - le temps nécessaire pour terminer la synchronisation d’un abonnement de fusion dépasse le seuil, en secondes, sur une connexion réseau lente.32 = mergefastrunspeed : le taux de remise des lignes pendant la synchronisation d’un abonnement de fusion n’a pas pu maintenir le taux de seuil, en lignes par seconde, sur une connexion réseau rapide.64 = mergeslowrunspeed : le taux de remise des lignes pendant la synchronisation d’un abonnement de fusion n’a pas réussi à maintenir le taux de seuil, en lignes par seconde, sur une connexion réseau lente. |
subscriber |
sysname | Nom de l'Abonné. |
subscriber_db |
sysname | Nom de la base de données utilisée pour l’abonnement. |
publisher_db |
sysname | Nom de la base de données de publication. |
publication |
sysname | Nom d’une publication. |
publication_type |
int | Type de publication, que peut prendre l'une des valeurs suivantes :0 = Publication transactionnelle1 = Publication d’instantanés2 = Publication de fusion |
subtype |
int | Type d’abonnement, qui peut être l’une des valeurs suivantes :0 = Push1 = Extraction2 = Anonyme |
latency |
int | Latence maximale, en secondes, des modifications de données propagées par l'Agent de lecture du journal ou l'Agent de distribution pour une publication transactionnelle. |
latencythreshold |
int | Latence maximale pour la publication transactionnelle, au-dessus de laquelle un avertissement est déclenché. |
agentnotrunning |
int | Durée, en heures, pendant laquelle l’agent n’a pas été exécuté. |
agentnotrunningthreshold |
int | Durée, en heures, pendant laquelle l’agent n’a pas été exécuté avant qu’un avertissement ne soit déclenché. |
timetoexpiration |
int | Durée, en heures, avant l’expiration de l’abonnement s’il n’est pas synchronisé. |
expirationthreshold |
int | Heure, en heures, avant l’expiration de l’abonnement, qu’un avertissement est déclenché. |
last_distsync |
datetime | Date/heure de la dernière exécution du Agent de distribution. |
distribution_agentname |
sysname | Nom du travail Agent de distribution pour l’abonnement à une publication transactionnelle. |
mergeagentname |
sysname | Nom du travail Agent de fusion de l’abonnement à une publication de fusion. |
mergesubscriptionfriendlyname |
sysname | Nom convivial donné à l’abonnement. |
mergeagentlocation |
sysname | Nom du serveur sur lequel s’exécute le Agent de fusion. |
mergeconnectiontype |
int | Connexion utilisée lors de la synchronisation d'un abonnement à une publication de fusion ; ce paramètre peut prendre l'une des valeurs suivantes :1 = réseau local (LAN)2 = connexion réseau rendez-vous3 = Synchronisation web. |
mergePerformance |
int | Performances de la dernière synchronisation comparées à toutes les synchronisations de l'abonnement, calculées en divisant la vitesse de transmission de la dernière synchronisation par la moyenne de toutes les vitesses de transmission antérieures. |
mergerunspeed |
float | Taux de remise de la dernière synchronisation de l’abonnement. |
mergerunduration |
int | Durée d’exécution de la dernière synchronisation de l’abonnement. |
monitorranking |
int | La valeur de classement utilisée pour classer les abonnements dans le jeu de résultats et peut être l’une des valeurs suivantes : Dans le cas d'une publication transactionnelle : 60 = Erreur56 = Avertissement : critique pour les performances52 = Avertissement : expiration ou expiration50 = Avertissement : abonnement non initialisé40 = Nouvelle tentative de commande ayant échoué30 = Non en cours d’exécution (réussite)20 = Exécution (démarrage, exécution ou inactivité)Dans le cas d'une publication de fusion : 60 = Erreur56 = Avertissement : critique pour les performances54 = Avertissement : fusion longue52 = Avertissement : expiration bientôt50 = Avertissement : abonnement non initialisé40 = Nouvelle tentative de commande ayant échoué30 = Exécution (démarrage, exécution ou inactivité)20 = Non en cours d’exécution (réussite) |
distributionagentjobid |
binary(16) | ID du travail d'Agent de distribution pour les abonnements à une publication transactionnelle. |
mergeagentjobid |
binary(16) | ID du travail d'Agent de fusion pour les abonnements à une publication de fusion. |
distributionagentid |
int | ID du travail d'Agent de distribution pour l'abonnement. |
distributionagentprofileid |
int | ID du profil d'Agent utilisé par l'Agent de distribution. |
mergeagentid |
int | ID du travail d'Agent de fusion pour l'abonnement. |
mergeagentprofileid |
int | ID du profil d'Agent utilisé par l'Agent de fusion. |
Valeurs des codes de retour
0
(réussite) or 1
(échec).
Notes
sp_replmonitorhelpsubscription
est utilisé avec tous les types de réplication.
sp_replmonitorhelpsubscription
commande le jeu de résultats en fonction de la gravité de l’état de l’abonnement, qui est déterminé par la valeur de monitorranking
. Par exemple, les lignes de tous les abonnements se trouvant dans un état d'erreur précèdent les lignes des abonnements se trouvant dans un état d'avertissement.
autorisations
Seuls les membres du rôle de base de données fixe db_owner ou replmonitor sur la base de données de distribution peuvent s’exécuter sp_replmonitorhelpsubscription
.