Vorgehensweise: Programmgesteuertes Überwachen der Replikation (Replikationsprogrammierung mit Transact-SQL)

Der Replikationsmonitor ist ein grafisches Tool, mit dem Sie eine Replikationstopologie überwachen können. Mithilfe gespeicherter Replikationsprozeduren können Sie programmgesteuert auf diese Überwachungsdaten zugreifen. Diese gespeicherten Prozeduren ermöglichen das Programmieren der folgenden Tasks:

  • Überwachen des Status von Verlegern, Veröffentlichungen und Abonnements.

  • Überwachen von Merge-Agentsitzungen auf mindestens einem Abonnenten.

  • Überwachen von Transaktionsbefehlen, die darauf warten, auf mindestens einem Abonnenten angewendet zu werden.

  • Definieren von Schwellenwertmetriken, um bestimmen zu können, wann eine Veröffentlichung einen Eingriff erfordert.

So überwachen Sie Verleger, Veröffentlichungen und Abonnements auf dem Verteiler

  1. Führen Sie auf dem Verteiler für die Verteilerdatenbank sp_replmonitorhelppublisher aus. Dadurch werden Überwachungsinformationen zu allen Verlegern zurückgegeben, die diesen Verteiler verwenden. Um das Resultset auf nur einen Verleger zu beschränken, geben Sie @publisher an.

  2. Führen Sie auf dem Verteiler für die Verteilerdatenbank sp_replmonitorhelppublication aus. Dadurch werden Überwachungsinformationen zu allen Veröffentlichungen zurückgegeben, die diesen Verteiler verwenden. Um das Resultset auf nur einen Verleger, eine Veröffentlichung oder eine veröffentlichte Datenbank zu beschränken, geben Sie @publisher, @publication bzw. @publisher_db an.

  3. Führen Sie auf dem Verteiler für die Verteilerdatenbank sp_replmonitorhelpsubscription aus. Dadurch werden Überwachungsinformationen zu allen Abonnements zurückgegeben, die diesen Verteiler verwenden. Um das Resultset auf Abonnements zu beschränken, die nur zu einem Verleger, einer Veröffentlichung oder einer veröffentlichten Datenbank gehören, geben Sie @publisher, @publication bzw. @publisher_db an.

So überwachen Sie Transaktionsbefehle, die darauf warten, auf dem Abonnenten angewendet zu werden

  • Führen Sie auf dem Verteiler für die Verteilerdatenbank sp_replmonitorsubscriptionpendingcmds aus. Dadurch werden Überwachungsinformationen zu allen Befehlen zurückgegeben, die für alle Abonnements ausstehen, die diesen Verteiler verwenden. Um das Resultset auf Befehle zu beschränken, die für Abonnements ausstehen, die nur zu einem Verleger, einem Abonnenten, einer Veröffentlichung oder einer veröffentlichten Datenbank gehören, geben Sie @publisher, @subscriber, @publication bzw. @publisher_db an.

So überwachen Sie Mergeänderungen, die darauf warten, hoch- oder heruntergeladen zu werden

  1. Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_showpendingchanges aus. Dadurch wird ein Resultset mit Informationen zu Änderungen zurückgegeben, die darauf warten, auf Abonnenten repliziert zu werden. Um das Resultset auf Änderungen zu beschränken, die nur zu einer Veröffentlichung oder einem Artikel gehören, geben Sie @publication bzw. @article an.

  2. Führen Sie auf dem Abonnenten für die Abonnementdatenbank sp_showpendingchanges aus. Dadurch wird ein Resultset mit Informationen zu Änderungen zurückgegeben, die darauf warten, auf dem Verleger repliziert zu werden. Um das Resultset auf Änderungen zu beschränken, die nur zu einer Veröffentlichung oder einem Artikel gehören, geben Sie @publication bzw. @article an.

So überwachen Sie Merge-Agentsitzungen

  1. Führen Sie auf dem Verteiler für die Verteilerdatenbank sp_replmonitorhelpmergesession aus. Dadurch werden zu allen Merge-Agentsitzungen für alle Abonnements, die diesen Verteiler verwenden, Überwachungsinformationen, beispielsweise Session_id, zurückgegeben. Sie können Session_id auch ermitteln, indem Sie eine Abfrage der MSmerge_sessions-Systemtabelle ausführen.

  2. Führen Sie auf dem Verteiler für die Verteilerdatenbank sp_replmonitorhelpmergesessiondetail aus. Geben Sie einen Wert Session_id aus Schritt 1 für @session_id an. Dadurch werden ausführliche Überwachungsinformationen zu der Sitzung angezeigt.

  3. Wiederholen Sie Schritt 2 für jede Sitzung, die von Interesse ist.

So überwachen Sie Merge-Agentsitzungen für Pullabonnements auf dem Abonnenten

  1. Führen Sie auf dem Abonnenten für die Abonnementdatenbank sp_replmonitorhelpmergesession aus. Geben Sie für ein bestimmtes Abonnement @publisher, @publication und den Namen der Veröffentlichungsdatenbank für @publisher_db an. Dadurch werden Überwachungsinformationen zu den letzten fünf Merge-Agentsitzungen für dieses Abonnement zurückgegeben. Beachten Sie im Resultset den Wert Session_id für Sitzungen, die von Interesse sind.

  2. Führen Sie auf dem Abonnenten für die Abonnementdatenbank sp_replmonitorhelpmergesessiondetail aus. Geben Sie einen Wert Session_id aus Schritt 1 für @session_id an. Dadurch werden ausführliche Überwachungsinformationen zu der Sitzung angezeigt.

  3. Wiederholen Sie Schritt 2 für jede Sitzung, die von Interesse ist.

So können Sie die Schwellenwertmetriken für die Überwachung für eine Veröffentlichung anzeigen und ändern

  1. Führen Sie auf dem Verteiler für die Verteilerdatenbank sp_replmonitorhelppublicationthresholds aus. Dadurch werden Überwachungsschwellenwerte zurückgegeben, die für alle Veröffentlichungen festgelegt wurden, die diesen Verteiler verwenden. Um das Resultset auf Überwachungsschwellenwerte für Veröffentlichungen festzulegen, die nur zu einem Verleger, einer veröffentlichten Datenbank oder einer Veröffentlichung gehören, geben Sie @publisher, @publisher_db bzw. @publication an. Beachten Sie den Wert Metric_id für alle Schwellenwerte, die geändert werden müssen. Weitere Informationen finden Sie unter Festlegen von Schwellenwerten und Warnungen im Replikationsmonitor.

  2. Führen Sie auf dem Verteiler für die Verteilerdatenbank sp_replmonitorchangepublicationthreshold aus. Geben Sie bei Bedarf Folgendes an:

    • Den in Schritt 1 ermittelten Metric_id-Wert für @metric_id.

    • Einen neuen Wert für die Schwellenwertmetrik für die Überwachung für @value.

    • Einen Wert 1 für @shouldalert für eine Warnung, die protokolliert wird, wenn dieser Schwellenwert erreicht wird, oder einen Wert 0, wenn keine Warnung erforderlich ist.

    • Einen Wert 1 für @mode, um die Schwellenwertmetrik für die Überwachung zu aktivieren, oder einen Wert 2, um diese zu deaktivieren.