2012-04-11 20 views
0

Hoffentlich kann einige SQL Replication Genie auf diesem eine helfen.Wie überprüft man, ob Merge Replication wirklich abgeschlossen ist oder nicht

Wir haben einige Handheld-Geräte, die die Mergereplikation in unserer SQL 2008 R2-Datenbank verwenden, um ihre lokale Datenbank synchron zu halten.

Dies funktioniert die meiste Zeit, aber der Client fordert einen Bericht an, der den Status der Synchronisation während des Fortschritts anzeigt.

Jetzt beobachte ich die Tabellen msmerge_history und msmmerge_session während der Zusammenführung und ich bemerke, dass sie vollständig angeben, lange bevor das Gerät selbst abgeschlossen wurde.

So sieht der Client, dass eine Synchronisierung erfolgreich war, nur um es 5 Minuten später aus dem einen oder anderen Grund zu scheitern.

Wie kann ich sehen, wenn der Client seine Zusammenführung beendet hat?

+0

Ich fange an zu denken, das ist eigentlich nicht möglich ... Bitte sagen, das ist nicht wahr? –

+0

Es ist möglich zu tun, ich mache es die ganze Zeit. Sie erwähnen Handheld-Geräte - Sind diese SQL CE-Abonnenten? –

+0

Sie sind nicht als Abonnenten eingerichtet, sie scheinen sich während der Synchronisation zu abonnieren. Wenn Sie dies tun, sehen Sie den Fortschritt des Abonnenten? –

Antwort

0

Es ist nicht genau eine Antwort, aber Microsoft hat uns bestätigt, dass wir den Fortschritt des Abonnenten in Echtzeit vom Server aus nicht überwachen können. Es kann nur vom Abonnenten überwacht werden.

Wir müssen also die Arbeitsweise unseres Abonnenten ändern, um den Server über den Fortschritt zu informieren.

-1

Dies ist ein Problem für eine schlechte Konfiguration des Agenten, weil er automatisch mit dem Server starten muss. Die häufigste Situation ist, wenn Sie beim Erstellen der Berichte den Warnstatus sehen.

So müssen Sie die Agenten neu zu konfigurieren:

sp_configure 'show advanced options',1 
reconfigure with override 
go 
sp_configure 'xp_cmdshell',1 
reconfigure with override 
go 
sp_configure 'Agent XPs',1 
reconfigure with override 
go 

Dann überprüft, ob in Ordnung ist:

net start sqlserveragent 

oder 'Start' der Agent von Management-Ordnern.

+0

Entschuldigung, ich verstehe deine Antwort nicht? Ich frage nicht, warum die Replikation fehlschlägt, sondern wie wir den Fortschritt der Abonnenten während der Replikation überwachen können. –

+0

ahh., Ich habe die Frage missverstanden, sorry .. ich werde darüber nachdenken, denn jetzt bin ich bei der Arbeit. –

0

@ Gavin Mannion - Versuchen Sie mit sp_replmonitorhelpmergesession. Beachten Sie, dass Sie auch den Den Status wollen werden, inspizieren Errormessages und ErrorID Spaltenwerte in der Ergebnismenge während der Überwachung, zusammen mit der PercentageDone/Dauer.

+0

Dies ist die eine, die ich verwendet habe und was passiert, ist, dass, sobald der Verleger es getan hat, Magie% PercentageComplete 100% ist, aber der Abonnent wird immer noch heruntergeladen, so dass der Prozentsatz falsch ist. –