sp_replmonitorhelpsubscription (Transact-SQL)
Gibt die aktuellen Statusinformationen für Abonnements zurück, die zu einer oder mehreren Publikationen 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 und hat den Standardwert 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 überwachten Publikation. publication ist vom Datentyp sysname und hat den Standardwert NULL.
[ @publication_type= ] publication_type
Der Typ der Publikation. publication_type ist vom Datentyp int. Die folgenden Werte sind möglich:Wert Beschreibung 0
Transaktionspublikation.
1
Snapshotpublikation.
2
Mergepublikation.
NULL (Standard)
Die Replikation versucht, den Publikationstyp zu bestimmen.
[ @mode = ] mode
Der beim Zurückgeben von Informationen zur Abonnementüberwachung zu verwendende Filtermodus. 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
Schränkt das Resultset auf die angegebene Anzahl von Abonnements ab dem Anfang der zurückgegebenen Daten ein. 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 hat den Standardwert 0. Der Wert 1 bedeutet, dass anonyme Abonnements ausgeschlossen werden, und der Wert 0 bedeutet, dass sie im Resultset eingeschlossen werden.
- [ @refreshpolicy= ] refreshpolicy
Nur interne Verwendung.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Resultsets
Spaltenname | Datentyp | Beschreibung |
---|---|---|
status |
int |
Informationen zum maximalen Statuscode unter allen Replikations-Agents, die der Publikation zugewiesen sind. Dies kann einer der folgenden Werte sein: 1 = Gestartet 2 = Erfolgreich beendet 3 = Vorgang wird ausgeführt 4 = Im Leerlauf 5 = Wird wiederholt 6 = Fehler |
warning |
int |
Die Schwellenwertwarnung mit dem höchsten Code, die von einem der Publikation zugehörigen Abonnement generiert wird. Dies kann das logische OR eines oder mehrerer der folgenden Werte sein. 1 = expiration - ein Abonnement auf eine Transaktionspublikation wurde nicht innerhalb des Schwellenwertes 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 Mergepublikation wurde nicht innerhalb des Schwellenwertes 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 in Anspruch genommene 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 Publikationsdatenbank. |
publication |
sysname |
Der Name der Publikation. |
publication_type |
int |
Der Publikationstyp, der einen der folgenden Werte haben kann: 0 = Transaktionspublikation 1 = Snapshotpublikation 2 = Mergepublikation |
subtype |
int |
Der Abonnementtyp, der einen der folgenden Werte haben kann: 0 = Push 1 = Pull 2 = Anonym |
latency |
int |
Die höchste Wartezeit (in Sekunden) für Datenänderungen, die vom Protokollleser oder vom Verteilungs-Agent für eine Transaktionspublikation weitergegeben werden. |
latencythreshold |
int |
Die maximale Wartezeit für die Transaktionspublikation, 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 Transaktionspublikation. |
mergeagentname |
sysname |
Der Name des Merge-Agent-Auftrags für das Abonnement auf eine Mergepublikation. |
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 Mergepublikation 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 Transaktionspublikation: 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 Mergepublikation: 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 Transaktionspublikation. |
mergeagentjobid |
binary(16) |
ID des Merge-Agent-Auftrags für Abonnements auf eine Mergepublikation. |
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. |
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 Fehlerstatus 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.
Siehe auch
Andere Ressourcen
How to: Programmatically Monitor Replication (Replication Transact-SQL Programming)