sp_dbmmonitorresults (Transact-SQL)

Gilt für:SQL Server

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.

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 = Letzte 100 Zeilen

7 = Letzte 500 Zeilen

8 = Letzte 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 = Aktualisierungen den Status der Datenbank durch Aufrufen von sp_dbmmonitorupdate vor dem Berechnen der Ergebnisse. Wenn die Statustabelle jedoch innerhalb der letzten 15 Sekunden aktualisiert wurde oder der Benutzer kein Mitglied der festen Serverrolle sysadmin ist, wird sp_dbmmonitorresults ausgeführt, ohne den Status zu aktualisieren.

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 dem vorhergehenden Update 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.

Bemerkungen

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

Berechtigungen

Erfordert die Mitgliedschaft in der festen Serverrolle sysadmin oder in der dbm_monitor festen Datenbankrolle in der msdb-Datenbank . Die rolle dbm_monitor ermöglicht es seinen Mitgliedern, den Status der Datenbankspiegelung anzuzeigen, ihn jedoch nicht zu aktualisieren, aber keine Datenbankspiegelungsereignisse anzuzeigen oder zu konfigurieren.

Hinweis

Wenn sp_dbmmonitorupdate zum ersten Mal ausgeführt wird, wird die dbm_monitor feste Datenbankrolle in der msdb-Datenbank erstellt. Mitglieder der festen Serverrolle sysadmin können jeden Benutzer der festen Datenbankrolle dbm_monitor 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 AdventureWorks2022, 2, 0;  

Weitere Informationen

Überwachen der Datenbankspiegelung (SQL Server)
sp_dbmmonitorchangemonitoring (Transact-SQL)
sp_dbmmonitoraddmonitoring (Transact-SQL)
sp_dbmmonitordropmonitoring (Transact-SQL)
sp_dbmmonitorhelpmonitoring (Transact-SQL)
sp_dbmmonitorupdate (Transact-SQL)