sp_replmonitorhelpsubscription (Transact-SQL)
Retourne les informations sur l'état actuel des abonnements appartenant à une ou plusieurs publications sur le serveur de publication et retourne une ligne par abonnement retourné. Cette procédure stockée, qui permet de surveiller la réplication, est exécutée sur le serveur de distribution dans la base de données de distribution.
Conventions de la syntaxe de 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 fait l'objet d'une surveillance. publisher est de type sysname, avec NULL comme valeur par défaut. Si la valeur est null, les informations retournées concernent tous les serveurs de publication qui utilisent le serveur de distribution.
- [ @publisher_db = ] 'publisher_db'
Nom de la base de données de publication. L'argument publisher_db est de type sysname, avec NULL comme valeur par défaut. 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 en cours d'analyse. publication est de type sysname, avec NULL comme valeur par défaut.
[ @publication_type = ] publication_type
Type de publication. publication_type est de type int et peut avoir l'une des valeurs suivantes.Valeur Description 0
Publication transactionnelle
1
Publication de capture instantanée
2
Publication de fusion
NULL (valeur par défaut)
La réplication essaie de déterminer le type de publication.
[ @mode = ] mode
Mode de filtrage à utiliser pour retourner les informations de surveillance des abonnements. mode est de type int et peut prendre l'une des valeurs suivantes.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 abonnements les moins 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 l'ensemble de résultats au nombre d'abonnements spécifié au début des données retournées. topnum est de type int et n'a pas de valeur par défaut.
- [ @exclude_anonymous = ] exclude_anonymous
Indique si les abonnements par extraction de données (pull) anonymes sont exclus de l'ensemble de résultats. exclude_anonymous est de type bit, avec 0 comme valeur par défaut ; la valeur 1 signifie que les abonnements anonymes sont exclus tandis que la valeur 0 indique qu'ils sont inclus.
- [ @refreshpolicy= ] refreshpolicy
À usage interne uniquement
Valeurs des codes de retour
0 (succès) ou 1 (échec)
Jeux de résultats
Nom de colonne | Type de données | Description |
---|---|---|
status |
int |
État maximal de tous les Agents de réplication associés à la publication ; cet état peut prendre l'une des valeurs suivantes : 1 = démarré 2 = succès 3 = en cours 4 = inactif 5 = reprise 6 = échec |
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 la limite du seuil de période de rétention. 2 = latence ; la durée de la réplication des données depuis un serveur de publication transactionnelle vers l'Abonné dépasse le seuil, en secondes. 4 = expiration de la fusion ; un abonnement à une publication de fusion n'a pas été synchronisé dans la limite du seuil de période de rétention. 8 = durée d'exécution rapide de la fusion ; la durée de la réalisation de la synchronisation d'un abonnement de fusion dépasse le seuil, en secondes, via une connexion réseau rapide. 16 = durée d'exécution lente de la fusion ; la durée de la réalisation de la synchronisation d'un abonnement de fusion dépasse le seuil, en secondes, via une connexion d'accès réseau à distance ou lente. 32 = vitesse d'exécution rapide de la fusion ; la vitesse de transmission des lignes pendant la synchronisation d'un abonnement de fusion n'est pas parvenue à maintenir le taux du seuil, en lignes par seconde, via une connexion réseau rapide. 64 = vitesse d'exécution lente de la fusion ; la vitesse de transmission des lignes pendant la synchronisation d'un abonnement de fusion n'est pas parvenue à maintenir le taux du seuil, en lignes par seconde, via une connexion d'accès réseau à distance ou 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, qui peut prendre l'une des valeurs suivantes : 0 = publication transactionnelle 1 = publication de capture instantanée 2 = publication de fusion |
subtype |
int |
Type d'abonnement, qui peut prendre l'une des valeurs suivantes : 0 = par envoi de données (push) 1 = par extraction de données (pull) 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 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 et heure de la dernière exécution de l'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 d'accès réseau à distance 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 |
Vitesse de transmission de la dernière synchronisation de l'abonnement. |
mergerunduration |
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 : expire bientôt ou expiré 50 = avertissement : abonnement non initialisé 40 = nouvelle tentative de la commande qui a échoué 30 = non exécuté (succès) 20 = en cours d'exécution (démarré, exécuté ou inactif) Dans le cas d'une publication de fusion : 60 = erreur 56 = avertissement : critique pour les performances 54 = avertissement : fusion longue 52 = avertissement : expire bientôt 50 = avertissement : abonnement non initialisé 40 = nouvelle tentative de la commande qui a échoué 30 = en cours d'exécution (démarré, exécuté ou inactif) 20 = non exécuté (succès) |
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. |
Notes
sp_replmonitorhelpsubscription est utilisée avec tous les types de réplications.
sp_replmonitorhelpsubscription classe l'ensemble de résultats en fonction de la gravité de l'état des abonnements qui est déterminée 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 de la base de données de distribution peuvent exécuter sp_replmonitorhelpsubscription.
Voir aussi
Autres ressources
How to: Programmatically Monitor Replication (Replication Transact-SQL Programming)