sp_replmonitorhelpsubscription (Transact-SQL)

S’applique à :SQL ServerAzure 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 = ] 'publisher'  
    [ , [ @publisher_db = ] 'publisher_db' ]  
    [ , [ @publication = ] 'publication' ]  
    [ , [ @publication_type = ] publication_type ]   
    [ , [ @mode = ] mode ]  
    [ , [ @topnum = ] topnum ]   
    [ , [ @exclude_anonymous = ] exclude_anonymous ]   
    [ , [ @refreshpolicy = ] refreshpolicy ]  

Arguments

[ @publisher = ] 'publisher' Nom du serveur de publication dont l’état est surveillé. publisher est sysname, avec une valeur par défaut de 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 = ] 'publisher_db' Nom de la base de données publiée. publisher_db est sysname, avec une valeur par défaut null. Si la valeur est NULL, les informations retournées concernent toutes les bases de données publiées situées sur le serveur de publication.

[ @publication = ] 'publication' Nom de la publication surveillée. la publication est sysname, avec une valeur par défaut de NULL.

[ @publication_type = ] publication_type Si le 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 (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. le 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 ont généré des avertissements de mesure de seuil.
3 Retourne uniquement les abonnements qui ont des erreurs ou ayant généré des avertissements de mesure 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 pas en cours de synchronisation.

[ @topnum = ] topnum Limite le jeu de résultats au nombre spécifié d’abonnements en haut des données retournées. topnum est int, sans valeur par défaut.

[ @exclude_anonymous = ] exclude_anonymous Est si les abonnements par extraction anonyme sont exclus du jeu de résultats. exclude_anonymous est bit, avec une valeur par défaut de 0 ; une valeur de 1 signifie que les abonnements anonymes sont exclus et qu’une valeur de 0 signifie qu’ils sont inclus.

[ @refreshpolicy = ] refreshpolicy Utilisation interne uniquement.

Jeux de résultats

Nom de la colonne Type de données Description
statut 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é
avertissement 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 = latence : 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 ou rendez-vous.

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 ou rendez-vous.
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, qui peut être l’une des valeurs suivantes :

0 = Publication transactionnelle

1 = Publication d’instantanés

2 = Publication de fusion
subtype int Type d'abonnement, qui peut prendre 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.
latencereshold int Latence maximale de la publication transactionnelle au-delà 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 le déclenchement d'un avertissement.
timetoexpiration int Durée, en heures, au terme de laquelle l'abonnement expire s'il n'est pas synchronisé.
expirationthreshold int Durée, en heures, au terme de laquelle l'expiration de l'abonnement déclenche un avertissement.
last_distsync datetime Date/heure de la dernière exécution du Agent de distribution.
distribution_agentname sysname Nom du travail d'Agent de distribution pour l'abonnement à une publication transactionnelle.
mergeagentname sysname Nom du travail d'Agent de fusion pour l'abonnement à une publication de fusion.
mergesubscriptionfriendlyname sysname Nom convivial donné à l'abonnement.
mergeagentlocation sysname Nom du serveur sur lequel l'Agent de fusion est exécuté.
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.
fusionunspeed float Vitesse de transmission de la dernière synchronisation de l'abonnement.
fusionunduration int Durée qui a été nécessaire à la dernière synchronisation de l'abonnement.
monitorranking int Valeur de classement des abonnements dans l'ensemble de résultats ; ce paramètre peut prendre 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.

Codet de retour

0 (réussite) ou 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 du monitoringranking. 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 exécuter sp_replmonitorhelpsubscription.

Voir aussi

Surveiller la réplication par programmation