Partilhar via


sp_dbmmonitorresults (Transact-SQL)

Aplica-se: SQL Server

Retorna linhas de status para um banco de dados monitorado da tabela de status na qual o histórico de monitoramento de espelhamento de banco de dados é armazenado e permite que você escolha se o procedimento obtém o status mais recente com antecedência.

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

@database_name [ = ] N'database_name'

Especifica qual banco de dados deve retornar o status de espelhamento. @database_name é sysname, sem padrão.

@mode Modo [ = ]

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

Valor Descrição
0 Última linha
1 As linhas duram duas horas
2 As linhas duram quatro horas
3 As linhas duram oito horas
4 Linhas no último dia
5 As linhas duram dois dias
6 Últimas 100 linhas
7 Últimas 500 linhas
8 Últimas 1.000 linhas
9 Últimas 1.000.000 linhas

@update_table [ = ] update_table

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

  • 0 = Não atualiza o status do banco de dados. Os resultados são computados utilizando somente as últimas duas linhas, a idade depende de quando a tabela de status foi atualizada.

  • 1 = Atualiza o status do banco de dados chamando sp_dbmmonitorupdate antes de calcular os resultados. No entanto, se a tabela de status tiver sido atualizada nos últimos 15 segundos ou se o usuário não for membro da função de servidor fixa sysadmin , sp_dbmmonitorresults será executada sem atualizar o status.

Valores do código de retorno

Nenhum.

Conjunto de resultados

Retorna o número solicitado de linhas de status de histórico do banco de dados especificado. Cada linha contém as seguintes informações:

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

1 = Principal
2 = Espelho
mirroring_state int Estado do banco de dados:

0 = Suspenso
1 = Desconectado
2 = Sincronização
3 = Failover pendente
4 = Sincronizado
witness_status int O status da conexão da testemunha na sessão de espelhamento de banco de dados pode ser:

0 = Desconhecido
1 = Conectado
2 = Desconectado
log_generation_rate int Quantidade de log gerado desde a atualização anterior do status de espelhamento deste banco de dados em kilobytes/segundo.
unsent_log int Tamanho de log não enviado na fila de envio do principal em kilobytes.
send_rate int Taxa de envio de logs do principal para o espelhamento em kilobytes/segundo.
unrestored_log int Tamanho da fila de restauração do espelhamento em kilobytes.
recovery_rate int Taxa de restauração do espelhamento em kilobytes/segundo.
transaction_delay int Atraso total de todas as transações em milissegundos.
transactions_per_sec int Número de transações que estão ocorrendo por segundo na instância do servidor principal.
average_delay int Espera média na instância de servidor principal para cada transação devido ao espelhamento de banco de dados. No modo de alto desempenho (ou seja, quando a SAFETY propriedade é definida como OFF), esse valor geralmente 0é .
time_recorded datetime Hora em que o monitor de espelhamento de banco de dados registrou a linha. Esse valor é a hora do relógio do sistema da entidade de segurança.
time_behind datetime Hora de relógio do sistema aproximada do principal para o qual o banco de dados espelho é atualmente atualizado. Este valor é significante somente na instância de servidor principal.
local_time datetime Hora de relógio de sistema na instância de servidor local quando esta linha foi atualizada.

Comentários

sp_dbmmonitorresults pode ser executado apenas no contexto do msdb banco de dados.

Permissões

Requer associação na função de servidor fixa sysadmin ou na função de banco de dados fixa dbm_monitor no msdb banco de dados. A função dbm_monitor permite que seus membros exibam o status de espelhamento de banco de dados, mas não o atualizem, mas não exibam ou configurem eventos de espelhamento de banco de dados.

Observação

Na primeira vez que sp_dbmmonitorupdate é executado, ele cria a função de banco de dados fixa dbm_monitor no msdb banco de dados. Os membros da função de servidor fixa sysadmin podem adicionar qualquer usuário à função de banco de dados fixa dbm_monitor .

Exemplos

O exemplo seguinte retorna as linhas registradas durante as duas horas anteriores sem atualizar o status do banco de dados.

USE msdb;
EXEC sp_dbmmonitorresults AdventureWorks2022, 2, 0;