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)
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für