sp_replmonitorhelpsubscription (Transact-SQL)

Gilt für:SQL ServerAzure SQL Managed Instance

Gibt die aktuellen Statusinformationen für Abonnements zurück, die zu einer oder mehreren Veröffentlichungen auf dem Verleger gehören. Dabei wird eine Zeile für jedes zurückgegebene Abonnement zurückgegeben. Diese gespeicherte Prozedur, die zur Überwachung der Replikation verwendet wird, wird auf dem Verteiler für die Verteilungsdatenbank ausgeführt.

Transact-SQL-Syntaxkonventionen

Syntax

  
sp_replmonitorhelpsubscription [ @publisher = ] 'publisher'  
    [ , [ @publisher_db = ] 'publisher_db' ]  
    [ , [ @publication = ] 'publication' ]  
    [ , [ @publication_type = ] publication_type ]   
    [ , [ @mode = ] mode ]  
    [ , [ @topnum = ] topnum ]   
    [ , [ @exclude_anonymous = ] exclude_anonymous ]   
    [ , [ @refreshpolicy = ] refreshpolicy ]  

Argumente

[ @publisher = ] 'publisher' Ist der Name des Herausgebers, dessen Status überwacht wird. Publisher ist "sysname" mit dem Standardwert NULL. Wenn NULL, werden Informationen für alle Herausgeber zurückgegeben, die den Distributor verwenden.

[ @publisher_db = ] 'publisher_db' Ist der Name der veröffentlichten Datenbank. publisher_db ist "sysname" mit dem Standardwert NULL. Lautet der Wert NULL, werden Informationen für alle veröffentlichten Datenbanken auf dem Verleger zurückgegeben.

[ @publication = ] 'publication' Ist der Name der überwachten Publikation. publikation ist sysname, mit einem Standardwert von NULL.

[ @publication_type = ] publication_type Wenn der Publikationstyp. publication_type ist int und kann einer dieser Werte sein.

Wert Beschreibung
0 Transaktionsveröffentlichung.
1 Momentaufnahmeveröffentlichung.
2 Mergeveröffentlichung.
NULL (Standard) Die Replikation versucht, den Veröffentlichungstyp zu ermitteln.

[ @mode = ] mode Ist der Filtermodus, der beim Zurückgeben von Abonnementüberwachungsinformationen verwendet werden soll. der Modus "int" ist und einer dieser Werte sein kann.

Wert Beschreibung
0 (Standardwert) Gibt alle Abonnements zurück.
1 Gibt nur Abonnements mit Fehlern zurück.
2 Gibt nur Abonnements zurück, die Schwellenwertwarnungen generiert haben.
3 Gibt nur Abonnements zurück, die entweder Fehler aufweisen oder Schwellenwertwarnungen generiert haben.
4 Gibt die 25 besten Abonnements mit schlechtester Leistung zurück.
5 Gibt die 50 Abonnements zurück, die die schlechteste Leistung aufweisen.
6 Gibt nur Abonnements zurück, für die zurzeit eine Synchronisierung im Gange ist.
7 Gibt nur Abonnements zurück, für die zurzeit keine Synchronisierung im Gange ist.

[ @topnum = ] topnum Beschränkt das Resultset auf die angegebene Anzahl von Abonnements oben in den zurückgegebenen Daten. topnum is int, with no default.

[ @exclude_anonymous = ] exclude_anonymous Ist, wenn anonyme Pullabonnements vom Resultset ausgeschlossen werden. exclude_anonymous ist bit, mit einem Standardwert von 0; ein Wert von 1 bedeutet, dass anonyme Abonnements ausgeschlossen werden und ein Wert von 0 bedeutet, dass sie enthalten sind.

[ @refreshpolicy = ] refreshpolicy Nur interne Verwendung.

Resultsets

Spaltenname Datentyp BESCHREIBUNG
status int Überprüft den Status aller Replikations-Agents, die der Veröffentlichung zugeordnet sind, und gibt den höchsten gefundenen Status in der folgenden Reihenfolge zurück:

6 = Fehlgeschlagen

5 = Wiederholen

2 = Beendet

4 = Leerlauf

3 = In Bearbeitung

1 = Gestartet
Warnung int Warnung bezüglich des maximalen Schwellenwerts, die von einem zur Veröffentlichung gehörenden Abonnement generiert wird. Dies kann das Ergebnis des logischen OR-Vorgangs mit mindestens einem der folgenden Werte sein.

1 = Ablauf – ein Abonnement einer transaktionsbezogenen Publikation wurde nicht innerhalb des Aufbewahrungszeitraumsschwellenwerts synchronisiert.

2 = Latenz – die Zeit, die zum Replizieren von Daten aus einem transaktionsbezogenen Publisher an den Abonnenten benötigt wird, überschreitet den Schwellenwert in Sekunden.

4 = MergeExpiration – ein Abonnement einer Zusammenführungsveröffentlichung wurde nicht innerhalb des Aufbewahrungszeitraumsschwellenwerts synchronisiert.

8 = mergefastrunduration - die Zeit für die vollständige Synchronisierung eines Seriendruckabonnements überschreitet den Schwellenwert in Sekunden über eine schnelle Netzwerkverbindung.

16 = mergeslowrunduration - die Zeit für die vollständige Synchronisierung eines Seriendruckabonnements überschreitet den Schwellenwert in Sekunden über eine langsame oder DFÜ-Netzwerkverbindung.

32 = mergefastrunspeed – Die Übermittlungsrate für Zeilen während der Synchronisierung eines Seriendruckabonnements konnte nicht Standard die Schwellenwertrate in Zeilen pro Sekunde über eine schnelle Netzwerkverbindung beibehalten.

64 = mergeslowrunspeed – Die Übermittlungsrate für Zeilen während der Synchronisierung eines Seriendruckabonnements konnte nicht Standard die Schwellenwertrate in Zeilen pro Sekunde über eine langsame oder DFÜ-Netzwerkverbindung beibehalten.
subscriber sysname Der Name des Abonnenten.
subscriber_db sysname Der Name der für das Abonnement verwendeten Datenbank.
Publisher_db sysname Der Name der Veröffentlichungsdatenbank.
Veröffentlichung sysname Ist der Name einer Publikation.
publication_type int Ist die Art der Publikation, die einer der folgenden Werte sein kann:

0 = Transaktionsveröffentlichung

1 = Snapshot-Publikation

2 = Publikation zusammenführen
subtype int Der Abonnementtyp, der einen der folgenden Werte haben kann:

0 = Push

1 = Pull

2 = Anonym
latency int Die längste Latenzzeit (in Sekunden) für Datenänderungen, die vom Protokolllese-Agent oder vom Verteilungs-Agent für eine Transaktionsveröffentlichung weitergegeben werden.
Latenzzeit int Die maximale Latenzzeit für die Transaktionsveröffentlichung, bei deren Überschreiten eine Warnung ausgegeben wird.
agentnotrunning int Der Zeitraum (in Stunden), während dem der Agent nicht ausgeführt wird.
agentnotrunningthreshold int Der Zeitraum (in Stunden), während dem der Agent nicht ausgeführt und bei dessen Erreichen eine Warnung ausgegeben wird.
timetoexpiration int Der Zeitraum (in Stunden), an dessen Ende ein Abonnement abläuft, falls es nicht synchronisiert wird.
expirationthreshold int Die Zeit (in Stunden) vor dem Ablaufen eines Abonnements, zu der eine entsprechende Warnmeldung ausgegeben wird.
last_distsync datetime Der datetime-Wert der letzten Ausführung des Verteilungs-Agents.
distribution_agentname sysname Der Name des Verteilungs-Agentauftrags für das Abonnement auf eine Transaktionsveröffentlichung.
mergeagentname sysname Der Name des Merge-Agent-Auftrags für das Abonnement auf eine Mergeveröffentlichung.
mergesubscriptionfriendlyname sysname Der für das Abonnement angegebene angezeigte Name.
mergeagentlocation sysname Der Name des Servers, auf dem der Merge-Agent ausgeführt wird.
mergeconnectiontype int Die beim Synchronisieren eines Abonnements auf eine Mergeveröffentlichung verwendete Verbindung, die einen der folgenden Werte haben kann:

1 = Lokales Netzwerk (LAN)

2 = DFÜ-Netzwerkverbindung

3 = Websynchronisierung.
mergePerformance int Die Leistung der letzten Synchronisierung im Vergleich zu allen Synchronisierungen des Abonnements. Sie ergibt sich aus der Übermittlungsrate der letzten Synchronisierung dividiert durch den Durchschnitt aller vorhergegangenen Übermittlungsraten.
Fusionunspeed float Die Übermittlungsrate der letzten Synchronisierung des Abonnements.
Fusionsunduration int Der Zeitraum für den Abschluss der letzten Synchronisierung des Abonnements.
Monitorranking int Der Rangfolgenwert, der zur Sortierung der Abonnements im Resultset verwendet wird. Er kann folgende Werte haben:

Für eine Transaktionsveröffentlichung:

60 = Fehler

56 = Warnung: Leistungskritisch

52 = Warnung: bald oder abgelaufen

50 = Warnung: Abonnement nicht initialisiert

40 = Fehler beim Wiederholen des Befehls

30 = Nicht ausgeführt (Erfolg)

20 = Ausführen (Starten, Ausführen oder Leerlauf)

Für eine Mergeveröffentlichung:

60 = Fehler

56 = Warnung: Leistungskritisch

54 = Warnung: Lange laufende Zusammenführung

52 = Warnung: bald abläuft

50 = Warnung: Abonnement nicht initialisiert

40 = Fehler beim Wiederholen des Befehls

30 = Wird ausgeführt (Start, Ausführung oder Leerlauf)

20 = Nicht ausgeführt (Erfolg)
distributionagentjobid binary(16) ID des Verteilungs-Agent-Auftrags für Abonnements auf eine Transaktionsveröffentlichung.
mergeagentjobid binary(16) ID des Merge-Agent-Auftrags für Abonnements auf eine Mergeveröffentlichung.
distributionagentid int ID des Verteilungs-Agent-Auftrags für das Abonnement.
distributionagentprofileid int ID des vom Verteilungs-Agent verwendeten Agentprofils.
mergeagentid int ID des Merge-Agentauftrags für das Abonnement.
mergeagentprofileid int ID des vom Merge-Agent verwendeten Agentprofils.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_replmonitorhelpsubscription wird mit allen Replikationstypen verwendet.

sp_replmonitorhelpsubscription sortiert das Resultset basierend auf dem Schweregrad des Status des Abonnements, der durch den Wert der Monitorranking bestimmt wird. So werden z. B. Zeilen für alle Abonnements, die einen Fehlerzustand aufweisen, oberhalb der Zeilen für Abonnements einsortiert, die einen Warnungsstatus aufweisen.

Berechtigungen

Nur Mitglieder der db_owner- oder replmonitor-Festen Datenbankrolle in der Verteilungsdatenbank können sp_replmonitorhelpsubscription ausführen.

Weitere Informationen

Programmgesteuertes Überwachen der Replikation