sp_replmonitorhelpsubscription (Transact-SQL)
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 dient zur Überwachung der Replikation und 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'
Der Name des Verlegers, dessen Status überwacht wird. publisher ist vom Datentyp sysname. Der Standardwert ist NULL. Lautet der Wert null, werden Informationen für alle Verleger zurückgegeben, die diesen Verteiler verwenden.[ @publisher_db = ] 'publisher_db'
Der Name der veröffentlichten Datenbank. publisher_db ist vom Datentyp sysname und hat den Standardwert NULL. Lautet der Wert NULL, werden Informationen für alle veröffentlichten Datenbanken auf dem Verleger zurückgegeben.[ @publication = ] 'publication'
Der Name der Veröffentlichung, die überwacht wird. publication ist vom Datentyp sysname und hat den Standardwert NULL.[ @publication_type = ] publication_type
Der Typ der Veröffentlichung. publication_type ist vom Datentyp int. Die folgenden Werte sind möglich.Wert
Beschreibung
0
Transaktionsveröffentlichung.
1
Momentaufnahmeveröffentlichung.
2
Mergeveröffentlichung.
NULL (Standard)
Die Replikation versucht, den Veröffentlichungstyp zu bestimmen.
[ @mode = ] mode
Der Filterungsmodus, der beim Zurückgeben von Abonnementüberwachungsinformationen verwendet werden soll. mode ist vom Datentyp int. Die folgenden Werte sind möglich: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 Abonnements zurück, die die schlechteste Leistung aufweisen.
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 am Anfang der zurückgegebenen Daten. topnum ist vom Datentyp int und hat keinen Standardwert.[ @exclude_anonymous = ] exclude_anonymous
Gibt an, ob anonyme Pullabonnements aus dem Resultset ausgeschlossen werden. exclude_anonymous ist vom Datentyp bit, und der Standardwert ist 0. Mit dem Wert 1 werden anonyme Abonnements ausgeschlossen, und mit dem Wert 0 werden sie eingeschlossen.[ @refreshpolicy= ] refreshpolicy
Nur zur internen 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 = Fehler 5 = Wird wiederholt 2 = Beendet 4 = Im Leerlauf 3 = Wird ausgeführt 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 auf eine Transaktionsveröffentlichung wurde nicht innerhalb des Schwellenwerts für die Beibehaltungsdauer synchronisiert. 2 = latency - die zur Replikation von Daten aus einem Transaktionsverleger auf den Abonnenten in Anspruch genommene Zeit (in Sekunden) übersteigt den Schwellenwert. 4 = mergeexpiration - ein Abonnement auf eine Mergeveröffentlichung wurde nicht innerhalb des Schwellenwerts für die Beibehaltungsdauer synchronisiert. 8 = mergefastrunduration - die zum Abschließen der Synchronisierung eines Mergeabonnements in Anspruch genommene Zeit (in Sekunden) überschreitet den Schwellenwert bei einer schnellen Netzwerkverbindung. 16 = mergeslowrunduration – die zum Abschließen der Synchronisierung eines Mergeabonnements beanspruchte Zeit (in Sekunden) überschreitet den Schwellenwert bei einer langsamen oder einer DFÜ-Netzwerkverbindung. 32 = mergefastrunspeed – die Zeilenübermittlungsrate bei der Synchronisierung eines Mergeabonnements über eine schnelle Netzwerkverbindung konnte den Schwellenwert (in Zeilen pro Sekunde) nicht einhalten. 64 = mergeslowrunspeed - die Zeilenübermittlungsrate bei der Synchronisierung eines Mergeabonnements über eine langsame Netzwerkverbindung oder eine DFÜ-Netzwerkverbindung konnte den Schwellenwert (in Zeilen pro Sekunde) nicht einhalten. |
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. |
publication |
sysname |
Der Name der Veröffentlichung. |
publication_type |
int |
Der Veröffentlichungstyp, der einen der folgenden Werte haben kann: 0 = Transaktionsveröffentlichung 1 = Momentaufnahmeveröffentlichung 2 = Mergeveröffentlichung |
subtype |
int |
Der Abonnementtyp, der einen der folgenden Werte haben kann: 0 = Push 1 = Pull 2 = Anonym |
latency |
int |
Die höchste Latenzzeit (in Sekunden) für Datenänderungen, die vom Protokollleser oder vom Verteilungs-Agent für eine Transaktionsveröffentlichung weitergegeben werden. |
latencythreshold |
int |
Die maximale Latenzzeit für die Transaktionsveröffentlichung, bei deren Überschreiten eine Warnung ausgegeben wird. |
agentnotrunning |
int |
Der Zeitraum (in Stunden), während dessen der Agent nicht ausgeführt wird. |
agentnotrunningthreshold |
int |
Der Zeitraum (in Stunden), während dessen 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-Agent-Auftrags 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 (Local Area Network, 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 des Abonnements. |
mergerunduration |
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: Leistung im kritischen Bereich 52 = Warnung: Läuft demnächst ab oder Abgelaufen 50 = Warnung: Abonnement nicht initialisiert 40 = fehlerhafter Befehl wird wiederholt 30 = Wird nicht ausgeführt (Erfolg) 20 = Wird ausgeführt (wird gestartet, wird ausgeführt oder im Leerlauf) Für eine Mergeveröffentlichung: 60 = Fehler 56 = Warnung: Leistung im kritischen Bereich 54 = Warnung: Langer Mergevorgang 52 = Warnung: Läuft demnächst ab 50 = Warnung: Abonnement nicht initialisiert 40 = fehlerhafter Befehl wird wiederholt 30 = Wird ausgeführt (wird gestartet, wird ausgeführt oder im Leerlauf) 20 = Wird 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-Agent-Auftrags für das Abonnement. |
mergeagentprofileid |
int |
ID des vom Merge-Agent verwendeten Agentprofils. |
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Hinweise
sp_replmonitorhelpsubscription wird für alle Replikationstypen verwendet.
sp_replmonitorhelpsubscription sortiert das Resultset nach dem Schweregrad des Abonnementstatus, der vom Wert für 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 festen Datenbankrolle db_owner oder replmonitor in der Verteilungsdatenbank können sp_replmonitorhelpsubscription ausführen.