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.

Icône Lien de rubriqueConventions 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

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.

Valeurs des codes de retour

0 (succès) ou 1 (échec)

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.