Freigeben über


sp_replmonitorhelpsubscription (Transact-SQL)

Gilt für: SQL Server Azure 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 = ] N'publisher' ]
    [ , [ @publisher_db = ] N'publisher_db' ]
    [ , [ @publication = ] N'publication' ]
    [ , [ @publication_type = ] publication_type ]
    [ , [ @mode = ] mode ]
    [ , [ @topnum = ] topnum ]
    [ , [ @exclude_anonymous = ] exclude_anonymous ]
    [ , [ @refreshpolicy = ] refreshpolicy ]
[ ; ]

Argumente

[ @publisher = ] N'publisher'

Der Name des Herausgebers, dessen Status überwacht wird. @publisher ist "sysname" mit der Standardeinstellung "NULL. Wenn NULL, werden Informationen für alle Herausgeber zurückgegeben, die den Distributor verwenden.

[ @publisher_db = ] N'publisher_db'

Der Name der veröffentlichten Datenbank. @publisher_db ist "sysname" mit der Standardeinstellung "NULL. Wenn NULL, werden Informationen für alle veröffentlichten Datenbanken im Publisher zurückgegeben.

[ @publication = ] N'Publikation'

Der Name der zu überwachenden Publikation. @publication ist "sysname" mit der Standardeinstellung "NULL.

[ @publication_type = ] publication_type

Der Typ der Veröffentlichung. @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 = ] Modus

Der Filtermodus, der beim Zurückgeben von Abonnementüberwachungsinformationen verwendet werden soll. @mode ist int und kann einer dieser Werte sein.

Wert Beschreibung
0 (Standardwert) Gibt alle Abonnements zurück.
1 Gibt nur Abonnements mit Fehlern zurück.
2 Gibt nur Abonnements zurück, die Warnungen zur Schwellenwertmetrik generieren.
3 Gibt nur Abonnements zurück, die entweder Fehler aufweisen oder Warnungen zur Schwellenwertmetrik generieren.
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, die derzeit nicht synchronisiert werden.

[ @topnum = ] topnum

Beschränkt das Resultset auf die angegebene Anzahl von Abonnements am Anfang der zurückgegebenen Daten. @topnum ist int mit einem Standardwert von NULL.

[ @exclude_anonymous = ] exclude_anonymous

Wenn anonyme Pullabonnements vom Resultset ausgeschlossen werden. @exclude_anonymous ist bit, mit einem Standardwert von 0.

  • Der Wert bedeutet 1 , dass anonyme Abonnements ausgeschlossen werden.
  • Ein Wert von 0 bedeutet, dass sie eingeschlossen sind.

[ @refreshpolicy = ] refreshpolicy

Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

Resultset

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
warning 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 = expiration – Ein Abonnement einer transaktionsbezogenen Publikation wurde nicht innerhalb des Aufbewahrungszeitraumsschwellenwerts synchronisiert.
2 = latency – die Zeit, die zum Replizieren von Daten aus einem transaktionsbezogenen Publisher an den Abonnenten erforderlich ist, überschreitet den Schwellenwert in Sekunden.
4 = mergeexpiration – Ein Abonnement für eine 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 Netzwerkverbindung.
32 = mergefastrunspeed – Die Übermittlungsrate für Zeilen während der Synchronisierung eines Seriendruckabonnements konnte die Schwellenwertrate in Zeilen pro Sekunde über eine schnelle Netzwerkverbindung nicht beibehalten.
64 = mergeslowrunspeed – Die Übermittlungsrate für Zeilen während der Synchronisierung eines Seriendruckabonnements konnte die Schwellenwertrate in Zeilen pro Sekunde über eine langsame Netzwerkverbindung nicht beibehalten.
subscriber sysname Den Namen des Abonnenten.
subscriber_db sysname Der Name der Datenbank, die für das Abonnement verwendet wird.
publisher_db sysname Der Name der Publikationsdatenbank.
publication sysname Der Name einer Publikation.
publication_type int Der Veröffentlichungstyp. Die folgenden Werte sind möglich:

0 = Transaktionsveröffentlichung
1 = Snapshot-Publikation
2 = Publikation zusammenführen
subtype int Der Abonnementtyp, der einen der folgenden Werte sein 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.
latencythreshold int Die maximale Latenz für die Transaktionsveröffentlichung, über der eine Warnung ausgelöst wird.
agentnotrunning int Die Zeitdauer in Stunden, in denen der Agent nicht ausgeführt wird.
agentnotrunningthreshold int Die Zeitdauer in Stunden, die der Agent nicht ausgeführt hat, bevor eine Warnung ausgelöst wird.
timetoexpiration int Die Zeitdauer in Stunden, bevor das Abonnement abläuft, wenn es nicht synchronisiert wird.
expirationthreshold int Die Zeit in Stunden, bevor das Abonnement abläuft, wird eine Warnung ausgelöst.
last_distsync datetime Das Datum, zu dem die Verteilungs-Agent zuletzt ausgeführt wurde.
distribution_agentname sysname Der Name des Verteilungs-Agent Auftrags für das Abonnement einer transaktionsbasierten Publikation.
mergeagentname sysname Der Name des Merge-Agent Auftrags für das Abonnement einer Zusammenführungsveröffentlichung.
mergesubscriptionfriendlyname sysname Der Anzeigename, der dem Abonnement zugewiesen wird.
mergeagentlocation sysname Der Name des Servers, auf dem die 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.
mergerunspeed float Die Übermittlungsrate der letzten Synchronisierung für das Abonnement.
mergerunduration int Die Zeitdauer, um die letzte Synchronisierung des Abonnements abzuschließen.
monitorranking int Der Rangfolgewert, der verwendet wird, um die Abonnements im Resultset zu bestellen, und kann einer der folgenden Werte sein:

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 = Wird ausgeführt (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 (Starten, Ausführen 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 (erfolgreich) oder 1 Fehler.

Hinweise

sp_replmonitorhelpsubscription wird mit allen Replikationstypen verwendet.

sp_replmonitorhelpsubscription order the result set based on the schwere of the status of the subscription, which is determined by the value of monitorranking. 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

Es können nur Elemente der festen Datenbankrolle db_owner oder replmonitor für die Verteilungsdatenbank ausgeführt werden sp_replmonitorhelpsubscription.