sp_dbmmonitorresults (Transact-SQL)
Retorna as linhas de status de um banco de dados monitorado a partir da tabela de status na qual o monitoramento de espelhamento de banco de dados é armazenado e permite selecionar se o procedimento obtém o último status antes.
Sintaxe
sp_dbmmonitorresults database_name
, rows_to_return
, update_status
Argumentos
database_name
Especifica qual banco de dados deve retornar o status de espelhamento.rows_to_return
Especifica a quantidade de linhas retornadas:0= Última linha
1 = Linhas das últimas duas horas
2 = Linhas das últimas quatro horas
3 = Linhas das últimas oito horas
4 = Linhas do último dia
5 = Linhas dos últimos dois dias
6 = Últimas 100 linhas
7 = Últimas 500 linhas
8 = Últimas 1.000 linhas
9 = Últimas 1.000.000 linhas
update_status
Especifica que antes de retornar resultados, o procedimento: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 para o banco de dados chamando sp_dbmmonitorupdate antes de computar os resultados. Porém, se a tabela de status foi atualizada dentro dos 15 segundos anteriores ou o usuário não é um membro da função de servidor fixa sysadmin, sp_dbmmonitorresults é executado sem atualizar o status.
Valores de código de retorno
Nenhum
Conjuntos 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 espelhado. |
role |
int |
Função de espelhamento atual da instância do servidor: 1 = Principal 2 = Espelhamento |
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 quilobytes/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. Em modo de alto desempenho (isto é, quando a propriedade SAFETY é definida em OFF), este valor geralmente é 0. |
time_recorded |
datetime |
Hora em que a linha foi registrada pelo monitor de espelhamento de banco de dados. Essa é a hora do relógio do sistema do principal. |
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 somente no contexto do banco de dados msdb.
Permissões
Requer associação na função de servidor fixa sysadmin ou na função de banco de dados fixa dbm_monitor no banco de dados msdb. A função de dbm_monitor permite que seus membros visualizem o status de espelhamento de banco de dados, mas não atualizem ou configurem eventos de espelhamento de banco de dados.
Observação |
---|
A primeira vez que sp_dbmmonitorupdate é executado, é criada a função de banco de dados fixa dbm_monitor no banco de dados msdb. 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 AdventureWorks, 2, 0;