sp_dbmmonitorresults (Transact-SQL)

Si applica a: SQL Server

Restituisce le righe di stato per un database monitorato dalla tabella di stato in cui è archiviata la cronologia di monitoraggio del mirroring del database e consente di scegliere se la procedura ottiene lo stato più recente in anticipo.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Argomenti

[ @database_name = ] N'database_name'

Specifica il database per cui restituire lo stato di mirroring. @database_name è sysname, senza impostazione predefinita.

[ @mode = ] modalità

Specifica la quantità di righe restituite. @mode è int e può essere uno di questi valori.

valore Descrizione
0 Ultima riga
1 Righe ultime due ore
2 Righe ultime quattro ore
3 Righe ultime otto ore
4 Righe dell'ultimo giorno
5 Righe degli ultimi due giorni
6 Ultime 100 righe
7 Ultime 500 righe
8 Ultime 1.000 righe
9 Ultime 1.000.000 righe

[ @update_table = ] update_table

Specifica che prima di restituire i risultati della routine. @update_table è int, con il valore predefinito .0

  • 0 = Non aggiorna lo stato per il database. I risultati vengono calcolati utilizzando solo le ultime due righe, la cui data dipende dal momento in cui è stato eseguito l'aggiornamento della tabella di stato.

  • 1 = Aggiorna lo stato del database chiamando sp_dbmmonitorupdate prima di calcolare i risultati. Tuttavia, se la tabella di stato è stata aggiornata entro i 15 secondi precedenti o l'utente non è membro del ruolo predefinito del server sysadmin , sp_dbmmonitorresults viene eseguito senza aggiornare lo stato.

Valori del codice restituito

Nessuno.

Set di risultati

Restituisce il numero richiesto di righe dello stato della cronologia per il database specificato. Ogni riga contiene le informazioni seguenti:

Nome colonna Tipo di dati Descrizione
database_name sysname Nome di un database con mirroring.
role int Ruolo di mirroring corrente dell'istanza del server:

1 = Principal
2 = Mirror
mirroring_state int Stato del database:

0 = Sospeso
1 = Disconnesso
2 = Sincronizzazione
3 = Failover in sospeso
4 = Sincronizzato
witness_status int Stato di connessione del server di controllo del mirroring nella sessione di mirroring del database. I possibili valori sono i seguenti:

0 = Sconosciuto
1 = Connesso
2 = Disconnesso
log_generation_rate int Quantità di log generati a partire dall'ultimo aggiornamento dello stato di mirroring del database, espressa in kilobyte al secondo.
unsent_log int Dimensioni del log non inviato nella coda di invio nel database principale, espressa in kilobyte.
send_rate int Velocità di invio del log dal database principale al database mirror, espressa in kilobyte al secondo.
unrestored_log int Dimensioni della coda di rollforward nel database mirror, espressa in kilobyte.
recovery_rate int Tempo di rollforward nel database mirror, espresso in kilobyte al secondo.
transaction_delay int Ritardo totale per tutte le transazioni, espresso in millisecondi.
transactions_per_sec int Numero di transazioni al secondo nell'istanza del server principale.
average_delay int Ritardo medio nell'istanza del server principale per ogni transazione causato dal mirroring del database. In modalità a prestazioni elevate, ovvero quando la SAFETY proprietà è impostata su OFF, questo valore è in genere 0.
time_recorded datetime Ora in cui il monitoraggio del mirroring del database ha registrato la riga. Questo valore è l'ora dell'orologio di sistema dell'entità.
time_behind datetime Ora approssimativa dell'orologio di sistema del database principale rispetto al quale è aggiornato il database mirror. Questo valore è significativo solo nell'istanza del server principale.
local_time datetime Ora dell'orologio di sistema nell'istanza locale del server al momento dell'aggiornamento della riga.

Osservazioni:

sp_dbmmonitorresults può essere eseguito solo nel contesto del msdb database.

Autorizzazioni

Richiede l'appartenenza al ruolo predefinito del server sysadmin o al ruolo predefinito del database dbm_monitor nel msdb database. Il ruolo dbm_monitor consente ai membri di visualizzare lo stato del mirroring del database, ma non di aggiornarlo ma non di visualizzare o configurare gli eventi di mirroring del database.

Nota

La prima volta che sp_dbmmonitorupdate viene eseguita, crea l'dbm_monitor ruolo predefinito del database nel msdb database. I membri del ruolo predefinito del server sysadmin possono aggiungere qualsiasi utente al ruolo predefinito del database dbm_monitor .

Esempi

Nell'esempio seguente vengono restituite le righe registrate nelle due ore precedenti senza aggiornare lo stato del database.

USE msdb;
EXEC sp_dbmmonitorresults AdventureWorks2022, 2, 0;