sys.sp_dbmmonitorresults (Transact-SQL)

Aplica-se a: SQL Server

Devolve as linhas de estado de uma base de dados monitorizada a partir da tabela de estado onde está armazenado o histórico de monitorização do espelhamento da base de dados, e permite-lhe escolher se o procedimento obtém o estado mais recente antecipadamente.

Transact-SQL convenções de sintaxe

Sintaxe

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

Arguments

[ @database_name = ] N'database_name'

Especifica a base de dados para a qual deve devolver o estado de espelhamento. @database_name é sysname, sem padrão.

@mode [ = ] modo

Especifica a quantidade de linhas devolvidas. @mode é int, e pode ser um desses valores.

valor Descrição
0 Última fila
1 As disputas duram duas horas
2 As discussões duram quatro horas
3 As filas duram oito horas
4 Últimas remadas no último dia
5 As remadas duram dois dias
6 Últimas 100 carreiras
7 Últimas 500 carreiras
8 Últimas 1.000 carreiras
9 Últimas 1.000.000 de carreiras

[ @update_table = ] update_table

Especifica que, antes de devolver resultados, o procedimento. @update_table é int, com um padrão de 0.

  • 0 = Não atualiza o estado da base de dados. Os resultados são calculados usando apenas as duas últimas linhas, cuja idade depende de quando a tabela de estado foi atualizada.

  • 1 = Atualiza o estado da base de dados ligando sp_dbmmonitorupdate antes de calcular os resultados. No entanto, se a tabela de estado foi atualizada nos últimos 15 segundos, ou se o utilizador não for membro do servidor fixo de sysadmin , executa-se sp_dbmmonitorresults sem atualizar o estado.

Valores de código de retorno

None.

Conjunto de resultados

Devolve o número solicitado de linhas de estado de histórico para a base de dados especificada. Cada linha contém a seguinte informação:

Nome da coluna Tipo de dados Descrição
database_name sysname Nome de uma base de dados espelhada.
role int Função atual de espelhamento da instância do servidor:

1 = Diretor
2 = Espelho
mirroring_state int Estado da base de dados:

0 = Suspenso
1 = Desligado
2 = Sincronização
3 = Failover pendente
4 = Sincronizado
witness_status int O estado da ligação da testemunha na sessão de espelhamento da base de dados pode ser:

0 = Desconhecido
1 = Ligado
2 = Desligado
log_generation_rate int Quantidade de registo gerado desde a atualização anterior do estado de espelhamento desta base de dados em kilobytes/seg.
unsent_log int Tamanho do registo não enviado na fila de envio no principal em kilobytes.
send_rate int Enviar a taxa de logarítmica do principal para o espelho em kilobytes/seg.
unrestored_log int Tamanho da fila de redo no espelho em kilobytes.
recovery_rate int Taxa de reavaliação no espelho em kilobytes/seg.
transaction_delay int Atraso total para todas as transações em milissegundos.
transactions_per_sec int Número de transações que ocorrem por segundo na instância principal do servidor.
average_delay int Atraso médio na instância principal do servidor para cada transação devido ao espelhamento da base de dados. No modo de alto desempenho (isto é, quando a SAFETY propriedade está definida para OFF), este valor é geralmente 0.
time_recorded datetime Momento em que o monitor espelhador da base de dados gravou a linha. Este valor é o tempo do relógio do sistema do principal.
time_behind datetime Tempo aproximado do relógio do sistema do principal ao qual a base de dados espelhada está atualmente em dia. Este valor é significativo apenas na instância principal do servidor.
local_time datetime Tempo de relógio do sistema na instância do servidor local quando esta linha foi atualizada.

Remarks

sp_dbmmonitorresults só pode ser executado no contexto da msdb base de dados.

Permissions

Requer a pertença ao papel fixo de sysadmin servidor ou ao papelmsdb dbm_monitor fixo na base de dados. O papel dbm_monitor permite aos seus membros visualizar o estado do espelhamento da base de dados, mas não o atualizar, nem visualizar ou configurar eventos de espelhamento da base de dados.

Note

Na primeira execução sp_dbmmonitorupdate , cria o papel fixo dbm_monitor na base de dados na msdb base de dados. Os membros do papel de servidor fixo sysadmin podem adicionar qualquer utilizador ao papel dbm_monitor base de dados fixa.

Exemplos

O exemplo seguinte devolve as linhas registadas nas duas horas anteriores sem atualizar o estado da base de dados.

USE msdb;

EXECUTE sp_dbmmonitorresults AdventureWorks2022, 2, 0;