2009-03-02 9 views
1

Wie können wir herausfinden, ob ein Replikationsjob oder eine normale Replikation zu einem bestimmten Zeitpunkt ausgeführt wird. Bitte, hilf mit herauszufinden.Replikation

Dank

Antwort

0

sp_distcounters informiert Sie über den aktuellen Status an. Wenn sich die Anzahl der gelieferten Befehle für eine bestimmte Subskription ändert, funktioniert Ihre Replikation, sonst nicht.

2

Angenommen, Sie beziehen sich auf die Microsoft SQL Server-Replikation, können Sie hier den Replikationsstatus schnell beobachten.

In der Datenbank-Hosting der Veröffentlichung gehen zu Explorer-Strukturansicht Objekt 1. Öffnen Sie Ordner Lokale Veröffentlichungen unter Replikation 2. Recht auf Veröffentlichung Klicken wählen Log Reader-Status

der Protokollleseagent das Lesen wird Transaktionsprotokoll und Füllen der Verteilungsdatenbank mit den Änderungen, die an den Abonnenten weitergegeben werden müssen.

Ein aktiven Protokollagenten werden in den Statusfenstern Meldungen zeigen, wie: 63 Transaktionen mit 439 Befehlen wurden

geliefert

Dennoch dieses Diagramm ziemlich schnell erklärt, wie die Transaktionsreplikation funktioniert. Replication Architecture (BOL: http://msdn.microsoft.com/en-us/library/ms151176.aspx)

2

In MS SQL, wenn Sie brauchen, um programmatisch einen Auftragsstatus prüfen (zum Beispiel von einem Monitoring-Tool) können Sie die folgende Abfrage abfeuern. Für die Push-Replikation wäre das Ziel der Replikationsverteiler (oder der Publisher, wenn Sie die Verteilung nicht skaliert haben). Für die Pull-Replikation wäre das Ziel der Replikationsteilnehmer.

Sie finden den Jobnamen unter dem SQL Server-Agent für den Verteiler/Abonnenten.

Sie suchen nach Spalte 26 ("current_execution_status"), die "1" ist, wenn der Job gerade ausgeführt wird.