Freigeben über


Vorgehensweise: Messen der Latenzzeit und Überprüfen der Verbindungen für die Transaktionsreplikation (RMO-Programmierung)

Bei der Transaktionsreplikation ist es wichtig, dass überprüft werden kann, ob die Server verbunden sind, und dass die Latenzzeit gemessen werden kann. Die Latenzzeit wird mit Überwachungstoken gemessen. Latenzzeit ist die Zeit, die es dauert, um auf dem Verleger vorgenommene Änderungen an Abonnenten weiterzugeben. Weitere Informationen finden Sie unter Messen der Latenzzeit und Überprüfen der Verbindungen bei der Transaktionsreplikation. Diese Informationen können mithilfe von Replikationsverwaltungsobjekten (RMO) programmgesteuert abgerufen werden.

So stellen Sie ein Überwachungstoken für eine Transaktionsveröffentlichung bereit

  1. Erstellen Sie eine Verbindung mit dem Verleger, indem Sie die ServerConnection-Klasse verwenden.

  2. Erstellen Sie eine Instanz der TransPublication-Klasse.

  3. Legen Sie die Name-Eigenschaft und die DatabaseName-Eigenschaft für die Veröffentlichung fest, und legen Sie die ConnectionContext-Eigenschaft auf die in Schritt 1 erstellte Verbindung fest.

  4. Rufen Sie die LoadProperties-Methode auf, um die Eigenschaften des Objekts abzurufen. Wenn diese Methode false zurückgibt, sind die Veröffentlichungseigenschaften in Schritt 3 falsch definiert, oder die Veröffentlichung ist nicht vorhanden.

  5. Rufen Sie die PostTracerToken-Methode auf. Mit dieser Methode wird ein Überwachungstoken in das Transaktionsprotokoll der Veröffentlichung eingefügt.

So können Sie die Latenzzeit bestimmen und die Verbindungen für eine Transaktionveröffentlichung überprüfen

  1. Erstellen Sie eine Verbindung mit dem Verteiler, indem Sie die ServerConnection-Klasse verwenden.

  2. Erstellen Sie eine Instanz der PublicationMonitor-Klasse.

  3. Legen Sie die Eigenschaften Name, DistributionDBName, PublisherName und PublicationDBName fest, und legen Sie die ConnectionContext-Eigenschaft auf die in Schritt 1 erstellte Verbindung fest.

  4. Rufen Sie die LoadProperties-Methode auf, um die Eigenschaften des Objekts abzurufen. Wenn diese Methode false zurückgibt, wurden entweder den in Schritt 3 genannten Eigenschaften der Klasse PublicationMonitor falsche Werte zugewiesen, oder die Veröffentlichung ist nicht vorhanden.

  5. Rufen Sie die EnumTracerTokens-Methode auf. Wandeln Sie das zurückgegebene ArrayList-Objekt in ein Array von TracerToken-Objekten um.

  6. Rufen Sie die EnumTracerTokenHistory-Methode auf. Übergeben Sie einen Wert TracerTokenID()()()() für ein Überwachungstoken aus Schritt 5. Dadurch werden Latenzzeitinformationen für das ausgewählte Überwachungstoken als DataSet-Objekt zurückgegeben. Wenn alle Informationen des Überwachungstokens zurückgegeben wurden, besteht die Verbindung zwischen dem Verleger und dem Verteiler sowie die Verbindung zwischen dem Verteiler und dem Abonnenten, und die Replikationstopologie ist funktionsfähig.

So entfernen Sie Überwachungstoken

  1. Erstellen Sie eine Verbindung mit dem Verteiler, indem Sie die ServerConnection-Klasse verwenden.

  2. Erstellen Sie eine Instanz der PublicationMonitor-Klasse.

  3. Legen Sie die Eigenschaften Name, DistributionDBName, PublisherName und PublicationDBName fest, und legen Sie die ConnectionContext-Eigenschaft auf die in Schritt 1 erstellte Verbindung fest.

  4. Rufen Sie die LoadProperties-Methode auf, um die Eigenschaften des Objekts abzurufen. Wenn diese Methode false zurückgibt, wurden entweder den in Schritt 3 genannten Eigenschaften der Klasse PublicationMonitor falsche Werte zugewiesen, oder die Veröffentlichung ist nicht vorhanden.

  5. Rufen Sie die EnumTracerTokens-Methode auf. Wandeln Sie das zurückgegebene ArrayList-Objekt in ein Array von TracerToken-Objekten um.

  6. Rufen Sie die CleanUpTracerTokenHistory-Methode auf. Übergeben Sie einen der folgenden Werte:

    • TracerTokenID()()()() für ein Überwachungstoken aus Schritt 5. Dadurch werden die Informationen für ein ausgewähltes Token gelöscht.

    • ein DateTime-Objekt. Dadurch werden die Informationen für alle Token gelöscht, die älter sind als das angegebene Datum und die angegebene Uhrzeit.