Use os limites de aviso e alertas em métricas de desempenho de espelhamento (SQL Server)
Este tópico contém informações sobre os eventos do SQL Server para os quais os limites de avisos podem ser configurados e gerenciados para espelhamento de banco de dados. Você pode usar o Monitor de Espelhamento de Banco de Dados ou os procedimentos armazenados sp_dbmmonitorchangealert, sp_dbmmonitorhelpalerte sp_dbmmonitordropalert. Este tópico também contém informações sobre como configurar alertas em eventos de espelhamento de banco de dados.
Depois que o monitoramento é definido para um banco de dados espelho, um administrador de sistema pode configurar limites de aviso em várias métricas chave de desempenho. Além disso, um administrador pode configurar alertas nesses e em outros eventos de espelhamento de banco de dados.
Neste tópico:
Métricas de desempenho e limites de aviso
A tabela a seguir lista as métricas de desempenho para as quais os avisos podem ser configurados, descreve o limite de aviso correspondente e lista os rótulos correspondentes do Monitor de Espelhamento de Banco de Dados.
Métrica de desempenho | Limite de aviso | Rótulo do monitor de espelhamento de banco de dados |
---|---|---|
Log não enviado | Especifica quantos quilobytes (KB) de log não enviado geram um aviso na instância do servidor principal. Essa advertência ajuda a medir o potencial para perda de dados em termos de KB e é especialmente relevante para o modo de alto desempenho. No entanto, o aviso também é relevante para o modo de segurança alta, quando o espelhamento é pausado ou suspenso devido à desconexão dos parceiros. | Avisar se o log não enviado exceder o limite |
Log não restaurado | Especifica quantos KB de log não restaurado geram um aviso na instância do servidor espelho. Esse aviso ajuda a medir o tempo de failover. Tempo de failover consiste, essencialmente, no tempo necessário para que o servidor espelho anterior efetue o roll-forward de quaisquer logs restantes em sua fila de restauração, mais um pequeno tempo adicional. Observação: Em um failover automático, o tempo necessário para que o sistema observe o erro é independente do período do failover. Para obter mais informações, confira Estimar a interrupção do serviço durante troca de função (Espelhamento de Banco de Dados). |
Avisar se o log não restaurado exceder o limite |
Transação não enviada mais antiga | Especifica o número de minutos de transações que podem ser acumuladas na fila de envio, antes da geração de um aviso na instância do servidor principal. Essa advertência ajuda a medir o potencial para perda de dados em termos de tempo e é especialmente relevante no modo de alto desempenho. No entanto, o aviso também é relevante para o modo de segurança alta, quando o espelhamento é pausado ou suspenso devido à desconexão dos parceiros. | Avisar se a idade da transação não enviada mais antiga exceder o limite |
Sobrecarga espelhada confirmada | Especifica o número de milissegundos de atraso médio por transação tolerado, antes que um aviso seja gerado no servidor principal. Esse atraso consiste na quantidade de sobrecarga incidente enquanto a instância do servidor principal aguarda que a instância do servidor espelho grave o registro do log da transação na fila de restauração. Esse valor é relevante somente no modo de alta segurança. | Avisar se a sobrecarga espelhada confirmada exceder o limite |
Para qualquer uma dessas métrica de desempenho, um administrador de sistema pode especificar um limite em um banco de dados espelho. Para obter mais informações, consulte Configurando e gerenciando limites de aviso, posteriormente neste tópico.
Configurando e gerenciando limites de aviso
Um administrador de sistema pode configurar um ou mais limites de aviso para as métricas de desempenho chave de espelhamento. Recomendamos a definição de um limite para um determinado aviso em ambos os parceiros para garantir que o aviso persista se o banco de dados cair. O limite apropriado de cada parceiro depende dos recursos de desempenho do sistema daquele parceiro.
Limites de aviso também podem ser configurados e gerenciados com uma das seguintes opções:
Monitor de Espelhamento de Banco de Dados
No Monitor de Espelhamento de Banco de Dados, o administrador pode exibir a configuração atual de avisos para um banco de dados selecionado nas instâncias do servidor principal e espelho ao mesmo tempo, selecionando a página com guias Avisos . Dessa página, o administrador pode abrir a caixa de diálogo Definir Limites de Aviso para habilitar e configurar um ou mais limites de aviso.
Para uma introdução à interface do Monitor de Espelhamento de Banco de Dados, consulte Database Mirroring Monitor Overview. Para obter informações sobre como iniciar o Monitor de Espelhamento de Banco de Dados, confira Iniciar o Monitor de Espelhamento de Banco de Dados (SQL Server Management Studio).
Procedimentos armazenados do sistema
O conjunto a seguir de procedimentos armazenados do sistema permite que um administrador configure e gerencie limites de aviso em bancos de dados espelhados, um parceiro por vez.
Procedimento Descrição sp_dbmmonitorchangealert (Transact-SQL) Adiciona ou altera limites de aviso para uma métrica especificada de desempenho de espelhamento. sp_dbmmonitorhelpalert (Transact-SQL) Retorna informações sobre limites de aviso em uma ou todas as várias métricas de desempenho do monitor de espelhamento de banco de dados principal. sp_dbmmonitordropalert (Transact-SQL) Descarta o aviso de uma métrica de desempenho especificada.
Eventos de limite de desempenho enviados para o log de eventos do Windows
Se o limite de aviso for definido para uma métrica de desempenho, quando a tabela de status for atualizada, o valor mais recente será avaliado com relação ao limite. Se o limite tiver sido alcançado, o procedimento de atualização sp_dbmmonitorupdate gerará um evento informativo, um evento do limite de desempenho, para a métrica e gravará o evento no log de eventos do Microsoft Windows. A tabela a seguir lista as IDs de evento dos eventos de limite de desempenho.
Métrica de desempenho | ID do evento |
---|---|
Log não enviado | 32042 |
Log não restaurado | 32043 |
Transação não enviada mais antiga | 32040 |
Sobrecarga espelhada confirmada | 32044 |
Observação
Um administrador pode definir alertas em qualquer um ou mais desses eventos. Para obter mais informações, consulte Usando alertas para um banco de dados espelhado, mais adiante neste
tópico.
Usando alertas para um banco de dados espelho
Uma parte importante do monitoramento de um banco de dados espelhado é a configuração de alertas sobre eventos importantes de espelhamento de banco de dados. SQL Server gera os seguintes tipos de eventos de espelhamento de banco de dados:
Eventos de limite de desempenho
Para obter mais informações, consulte "Eventos de limite de desempenho enviados para o log de eventos do Windows", anteriormente neste tópico.
Eventos de alteração de estado
Esses são eventos WMI (Windows Management Instrumentation) gerados quando ocorrem alterações no estado interno de uma sessão de espelhamento de banco de dados.
Observação
Para obter mais informações, veja Provedor WMI para conceitos de eventos de servidor.
Um administrador de sistema pode configurar alertas nesses eventos com o SQL Server Agent ou outros aplicativos, como o Microsoft Operations Manager.
Quando você define alertas em eventos de espelhamento de banco de dados, recomendamos que defina limites de aviso e alertas em ambas as instâncias do servidor parceiro. Eventos individuais são gerados no servidor principal ou no servidor espelho, mas cada parceiro pode executar qualquer uma dessas funções a qualquer momento. Para garantir que um alerta continue operando depois de um failover, o alerta deve ser definido em ambos os parceiros.
Para obter mais informações, consulte o white paper sobre alertas em eventos de espelhamento de banco de dados neste site do SQL Server. Este white paper contém informações sobre como configurar alertas usando SQL Server Agent, os eventos WMI de espelhamento de banco de dados e scripts de exemplo.
Importante
Para todas a sessões de espelhamento, é altamente recomendável que você configure o banco de dados para enviar um alerta em qualquer evento de alteração de estado. A menos que uma alteração de estado seja esperada como resultado de uma alteração de configuração manual, algo ocorreu que pode comprometer seus dados. Para ajudar a proteger seus dados, identifique e repare a causa de uma alteração de estado imprevista.
Related Tasks
Para criar um alerta com o SQL Server Management Studio
Para monitorar o espelhamento de banco de dados
Consulte Também
Espelhamento de banco de dados (SQL Server)
Monitorando o espelhamento de banco de dados (SQL Server)