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.
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.
Hinweis |
---|
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 AdventureWorks, 2, 0;