sp_dbmmonitorresults (Transact-SQL)

Restituisce le righe di stato per un database monitorato dalla tabella di stato in cui è archiviata la cronologia di Monitoraggio mirroring del database e consente di scegliere in anticipo se lo stato della procedura verrà aggiornato.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sp_dbmmonitorresults database_name 
      , rows_to_return
        , update_status 

Argomenti

  • database_name
    Specifica il database per cui restituire lo stato di mirroring.

  • rows_to_return
    Specifica la quantità di righe restituite:

    0 = Ultima riga

    1 = Righe relative alle ultime due ore

    2 = Righe relative alle ultime quattro ore

    3 = Righe relative alle ultime otto ore

    4 = Righe relative all'ultimo giorno

    5 = Righe relative agli ultimi due giorni

    6 = Ultime 100 righe

    7 = Ultime 500 righe

    8 = Ultime 1.000 righe

    9 = Ultimo milione di righe

  • update_status
    Specifica che prima di restituire i risultati, la procedura esegue le operazioni seguenti:

    Se il valore è 0, non aggiorna lo stato del 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.

    Se il valore è 1, aggiorna lo stato del database chiamando sp_dbmmonitorupdate prima di calcolare i risultati. Se tuttavia la tabella di stato è stata aggiornata nei 15 secondi precedenti o se l'utente non è membro del ruolo predefinito del server sysadmin, la stored procedure sp_dbmmonitorresults viene eseguita senza aggiornare lo stato.

Valori restituiti

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 = Database principale

2 = Database mirror

mirroring_state

int

Stato del database:

0 = Sospeso

1 = Disconnesso

2 = Sincronizzazione in corso

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 proprietà SAFETY è impostata su OFF, questo valore è in genere 0.

time_recorded

datetime

Ora in cui la riga è stata registrata da Monitoraggio mirroring del database. Si tratta dell'ora dell'orologio di sistema del database principale.

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

È possibile eseguire sp_dbmmonitorresults solo nel contesto del database msdb.

Autorizzazioni

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

[!NOTA]

Alla prima esecuzione di sp_dbmmonitorupdate, viene creato il ruolo predefinito del database dbm_monitor nel database msdb. 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 AdventureWorks, 2, 0;