sys.sp_dbmmonitorresults (Transact-SQL)

Van toepassing op:SQL Server

Geeft statusrijen terug voor een gemonitorde database uit de statustabel waarin de monitoringgeschiedenis wordt opgeslagen met databasespiegeling, en stelt je in staat te kiezen of de procedure vooraf de nieuwste status krijgt.

Transact-SQL syntaxis-conventies

Syntax

sys.sp_dbmmonitorresults
    [ @database_name = ] N'database_name'
    [ , [ @mode = ] mode ]
    [ , [ @update_table = ] update_table ]
[ ; ]

Arguments

[ @database_name = ] N'database_name'

Specificeert de database waarvoor de mirroringstatus moet worden teruggegeven. @database_name is sysname, zonder standaard.

[ @mode = ] modus

Specificeert het aantal geretourneerde rijen. @mode is int, en kan een van deze waarden zijn.

Value Beschrijving
0 Laatste rij
1 De ruien duren twee uur
2 Ruzies duren vier uur
3 Ruien duren acht uur
4 Ruzie laatste dag
5 Ruzies duren twee dagen
6 Laatste 100 rijen
7 Laatste 500 rijen
8 Laatste 1.000 rijen
9 Laatste 1.000.000 rijen

[ @update_table = ] update_table

Specificeert dat voordat de procedure wordt teruggegeven, de procedure uitwerkt. @update_table is int, met als standaard .0

  • 0 = Werkt de status voor de database niet bij. De resultaten worden berekend met alleen de laatste twee rijen, waarvan de leeftijd afhangt van wanneer de statustabel is ververst.

  • 1 = Werkt de status van de database bij door eerst aan te roepen sp_dbmmonitorupdate voordat de resultaten worden berekend. Als de statustabel echter binnen de voorgaande 15 seconden is bijgewerkt, of de gebruiker geen lid is van de sysadmin-vaste serverrol, sp_dbmmonitorresults wordt deze uitgevoerd zonder de status bij te werken.

Codewaarden retourneren

None.

Resultaatset

Geeft het gevraagde aantal rijen geschiedenisstatus terug voor de gespecificeerde database. Elke rij bevat de volgende informatie:

Kolomnaam Gegevenstype Beschrijving
database_name sysname Naam van een gespiegelde database.
role int Huidige spiegelingsrol van de serverinstantie:

1 = Directeur
2 = Spiegel
mirroring_state int Status van de database:

0 = Onderbroken
1 = Losgekoppeld
2 = Synchroniseren
3 = Hangende failover
4 = Gesynchroniseerd
witness_status int De verbindingsstatus van de getuige in de databasespiegelingssessie van de database kan zijn:

0 = Onbekend
1 = Verbonden
2 = Losgekoppeld
log_generation_rate int Hoeveelheid logs die sinds de voorafgaande update van de spiegelingsstatus van deze database is gegenereerd in kilobytes/sec.
unsent_log int Grootte van het niet-verzonden logboek in de verzendwachtrij op de principal in kilobytes.
send_rate int Stuur de snelheid van het logboek van de principal naar de spiegel in kilobytes/sec.
unrestored_log int Grootte van de redo-wachtrij op de spiegel in kilobytes.
recovery_rate int Herkansingssnelheid op de spiegel in kilobytes/sec.
transaction_delay int Totale vertraging voor alle transacties in milliseconden.
transactions_per_sec int Aantal transacties die per seconde plaatsvinden op de hoofdserverinstantie.
average_delay int Gemiddelde vertraging op de hoofdserverinstantie voor elke transactie vanwege databasespiegeling. In high-performance modus (dat wil zeggen, wanneer de SAFETY eigenschap op is gezet ), OFFis deze waarde doorgaans 0.
time_recorded datetime Tijd waarop de databasespiegelmonitor de rij registreerde. Deze waarde is de systeemkloktijd van de principal.
time_behind datetime Geschatte systeemkloktijd van het principe waaraan de spiegeldatabase momenteel is ingehaald. Deze waarde is alleen betekenisvol op de hoofdserverinstantie.
local_time datetime Systeemkloktijd op de lokale serverinstantie wanneer deze rij werd bijgewerkt.

Remarks

sp_dbmmonitorresults kan alleen worden uitgevoerd in de context van de msdb database.

Permissions

Vereist lidmaatschap van de sysadmin-vaste serverrol of van de dbm_monitor vaste databaserol in de msdb database. De dbm_monitor-rol stelt haar leden in staat om de status van databasespiegeling te bekijken, maar deze niet bij te werken en niet databasespiegelingsgebeurtenissen te bekijken of te configureren.

Note

De eerste keer dat dat sp_dbmmonitorupdate wordt uitgevoerd, creëert het de dbm_monitor vaste databaserol in de msdb database. Leden van de sysadmin-vaste serverrol kunnen elke gebruiker toevoegen aan de dbm_monitor vaste databaserol.

Examples

Het volgende voorbeeld geeft de rijen terug die in de voorgaande twee uur zijn geregistreerd zonder de status van de database bij te werken.

USE msdb;

EXECUTE sp_dbmmonitorresults AdventureWorks2022, 2, 0;