sp_dbmmonitorresults (Transact-SQL)

Gibt Statuszeilen für eine überwachte Datenbank aus der Statustabelle zurück, in der der Verlauf des Datenbankspiegelungs-Monitors gespeichert ist. Dabei können Sie angeben, ob die Prozedur zuvor den letzten Status abrufen soll.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_dbmmonitorresults database_name 
      , rows_to_return
        , update_status 

Argumente

  • database_name
    Gibt die Datenbank an, für die der Spiegelungsstatus zurückgegeben werden soll.

  • rows_to_return
    Gibt die Menge der zurückgegebenen Zeilen an:

    0 = Letzte Zeile

    1 = Zeilen der letzten 2 Stunden

    2 = Zeilen der letzten 4 Stunden

    3 = Zeilen der letzten 8 Stunden

    4 = Zeilen des letzten Tages

    5 = Zeilen der letzten 2 Tage

    6 = Die letzten 100 Zeilen

    7 = Die letzten 500 Zeilen

    8 = Die letzten 1.000 Zeilen

    9 = Die letzten 1.000.000 Zeilen

  • update_status
    Gibt das Verhalten der Prozedur vor dem Zurückgeben der Ergebnisse an:

    0 = Der Status der Datenbank wird nicht aktualisiert. Die Ergebnisse werden nur aus den letzten beiden Zeilen berechnet, deren Alter vom Aktualisierungszeitpunkt der Statustabelle abhängt.

    1 = Der Status der Datenbank wird durch den Aufruf von sp_dbmmonitorupdate aktualisiert, bevor die Ergebnisse berechnet werden. Wenn die Statustabelle jedoch in den letzten 15 Sekunden aktualisiert wurde oder der Benutzer kein Mitglied der festen Serverrolle sysadmin ist, wird sp_dbmmonitorresults ohne eine Aktualisierung des Status ausgeführt.

Rückgabecodewerte

Keine

Resultsets

Gibt die angeforderte Anzahl von Zeilen aus dem Statusverlauf für die angegebene Datenbank zurück. Jede Zeile enthält die folgenden Informationen:

Spaltenname

Datentyp

Beschreibung

database_name

sysname

Name einer gespiegelten Datenbank.

role

int

Aktuelle Spiegelungsrolle der Serverinstanz:

1 = Prinzipal

2 = Spiegel

mirroring_state

int

Status der Datenbank:

0 = Angehalten

1 = Getrennt

2 = Wird synchronisiert

3 = Ausstehendes Failover

4 = Synchronisiert

witness_status

int

Verbindungsstatus des Zeugen in der Datenbank-Spiegelungssitzung der Datenbank:

0 = Unbekannt

1 = Verbunden

2 = Getrennt

log_generation_rate

int

Umfang des seit der vorhergehenden Aktualisierung des Spiegelungsstatus dieser Datenbank generierten Protokolls in KB/s.

unsent_log

int

Größe des nicht gesendeten Protokolls in der Sendewarteschlange auf dem Prinzipal in KB.

send_rate

int

Senderate des Protokolls vom Prinzipal zum Spiegel in KB/s.

unrestored_log

int

Größe der Wiederholungswarteschlange auf dem Spiegel in KB.

recovery_rate

int

Wiederholungsrate auf dem Spiegel in KB/s.

transaction_delay

int

Gesamtverzögerung für alle Transaktionen in Millisekunden.

transactions_per_sec

int

Anzahl der Transaktionen, die pro Sekunde in der Prinzipalserverinstanz auftreten.

average_delay

int

Durchschnittliche Verzögerung in der Prinzipalserverinstanz für jede Transaktion aufgrund der Datenbankspiegelung. Im Modus für hohe Leistung (d. h., wenn die SAFETY-Eigenschaft auf OFF festgelegt ist), ist dieser im Allgemeinen 0.

time_recorded

datetime

Zeit, zu der die Zeile vom Datenbankspiegelungs-Monitor aufgezeichnet wurde. Dies ist die Systemuhrzeit auf dem Prinzipal.

time_behind

datetime

Ungefähre Systemuhrzeit des Prinzipals, auf deren Stand die Spiegelungsdatenbank derzeit gebracht wird. Der Wert ist nur in der Prinzipalserverinstanz sinnvoll.

local_time

datetime

Systemuhrzeit in der lokalen Serverinstanz, zu der diese Zeile aktualisiert wurde.

Hinweise

sp_dbmmonitorresults kann nur im Kontext der msdb-Datenbank ausgeführt werden.

Berechtigungen

Erfordert die Mitgliedschaft in der festen Serverrolle sysadmin oder in der festen Datenbankrolle dbm_monitor in der msdb-Datenbank. Die dbm_monitor-Rolle ermöglicht ihren Mitgliedern das Anzeigen, aber nicht das Aktualisieren des Datenbank-Spiegelungsstatus und nicht das Anzeigen oder Konfigurieren von Datenbank-Spiegelungsereignissen.

HinweisHinweis

Bei der ersten Ausführung von sp_dbmmonitorupdate wird die feste Datenbankrolle dbm_monitor in der msdb-Datenbank erstellt. Mitglieder der festen Serverrolle sysadmin können der festen Datenbankrolle dbm_monitor beliebige Benutzer hinzufügen.

Beispiele

Im folgenden Beispiel werden die Zeilen, die in den letzten 2 Stunden aufgezeichnet wurden, zurückgegeben, ohne dass der Status der Datenbank aktualisiert wird.

USE msdb;
EXEC sp_dbmmonitorresults AdventureWorks2008R2, 2, 0;