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 chamandosp_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 = Principal2 = Espelho |
mirroring_state |
int | Estado do banco de dados:0 = Suspenso1 = Desconectado2 = Sincronização3 = Failover pendente4 = Sincronizado |
witness_status |
int | O status da conexão da testemunha na sessão de espelhamento de banco de dados pode ser:0 = Desconhecido1 = Conectado2 = 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;