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 = Fehlgeschlagen5 = Wiederholen2 = Beendet4 = Leerlauf3 = In Bearbeitung1 = 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öffentlichung1 = Snapshot-Publikation2 = Publikation zusammenführen |
subtype |
int | Der Abonnementtyp, der einen der folgenden Werte sein kann:0 = Push1 = Pull2 = 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Ü-Netzwerkverbindung3 = 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 = Fehler56 = Warnung: Leistungskritisch52 = Warnung: bald oder abgelaufen50 = Warnung: Abonnement nicht initialisiert40 = Fehler beim Wiederholen des Befehls30 = Nicht ausgeführt (Erfolg)20 = Wird ausgeführt (Starten, Ausführen oder Leerlauf)Für eine Mergeveröffentlichung: 60 = Fehler56 = Warnung: Leistungskritisch54 = Warnung: Lange laufende Zusammenführung52 = Warnung: bald abläuft50 = Warnung: Abonnement nicht initialisiert40 = Fehler beim Wiederholen des Befehls30 = 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
.