2009-03-02 7 views
1

Comment pouvons-nous savoir si un travail de réplication ou une réplication normale est en cours d'exécution à un moment donné. S'il vous plaît, aidez à comprendre.réplication

Merci

Répondre

0

sp_distcounters vous indique l'état actuel. Si le nombre de commandes envoyées change pour un abonnement donné, votre réplication fonctionne, sinon.

2

En supposant que vous faites référence à la réplication Microsoft SQL Server, voici une méthode rapide pour observer l'état de la réplication.

Dans la base de données d'hébergement de la publication aller à l'Explorateur d'objets arborescence: 1. Ouvrez le dossier Publications locales dans la réplication 2. Cliquez droit sur une publication sélectionnez lecture du journal Statut

L'agent de lecture du journal est en train de lire la journal des transactions et remplissant la base de données de distribution avec les modifications qui doivent être transmises à l'abonné.

Un agent de journal actif affichera dans les messages de la fenêtre d'état tels que: 63 transactions avec 439 commandes ont été livrées

Néanmoins, ce diagramme explique assez rapidement le fonctionnement de la réplication transactionnelle. architecture de réplication (BOL: http://msdn.microsoft.com/en-us/library/ms151176.aspx)

2

Dans MS SQL si vous devez vérifier un état de programatically emploi (par exemple à partir d'un outil de surveillance), vous pouvez déclencher la requête suivante. Pour la réplication poussée, la cible serait le distributeur de réplication (ou l'éditeur si vous n'avez pas étendu la distribution). Pour la réplication par extraction, la cible serait l'abonné de réplication.

EXEC msdb..sp_help_job @job_name='<job name here>', @job_aspect = N'job' 

Vous pouvez trouver le nom du travail sous l'agent de serveur SQL pour le distributeur/l'abonné.

Vous recherchez la colonne 26 ("current_execution_status"), qui sera "1" si le travail est en cours d'exécution.