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.

Themenlink (Symbol)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 Veröffentlichung. 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

    Snapshotveröffentlichung.

    2

    Mergeveröffentlichung.

    NULL (Standard)

    Die Replikation versucht, den Veröffentlichungstyp 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.

Resultsets

Spaltenname

Datentyp

Beschreibung

status

int

Informationen zum maximalen Statuscode unter allen Replikations-Agents, die der Veröffentlichung 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 Veröffentlichung zugehörigen Abonnement generiert wird. Dies kann das logische OR eines oder mehrerer 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 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 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 = Snapshotverö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.