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 = Échec
5 = Nouvelle tentative
2 = Arrêté
4 = Inactif
3 = En cours
1 = 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 transactionnelle
1 = Publication d’instantanés
2 = Publication de fusion
subtype int Type d’abonnement, qui peut être l’une des valeurs suivantes :

0 = Push
1 = Extraction
2 = 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-vous
3 = 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 = Erreur
56 = Avertissement : critique pour les performances
52 = Avertissement : expiration ou expiration
50 = 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 = Erreur
56 = Avertissement : critique pour les performances
54 = Avertissement : fusion longue
52 = Avertissement : expiration bientôt
50 = 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.