Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Diferentes maneiras de monitorar grupos de disponibilidade AlwaysOn do SQL Server


Em meus artigos anteriores, expliquei o processo passo a passo de implantação de um grupo de disponibilidade AlwaysOn no SQL Server 2017. Neste artigo, explicarei como monitorar grupos de disponibilidade AlwaysOn.

Primeiro, vamos revisar a configuração do grupo de disponibilidade que implantamos anteriormente. Para fazer isso, abra o SQL Server Management Studio  Expanda motor de banco de dados do explorador de objetos  Expanda “Alta Disponibilidade AlwaysOn ”  Expanda “Grupos de Disponibilidade. ” Você pode ver o grupo de disponibilidade chamado SQLAAG . Nesse grupo de disponibilidade (SQLAAG), você pode ver a lista de réplicas de disponibilidade, bancos de dados de disponibilidade e ouvintes do grupo de disponibilidade.

Veja a seguinte imagem:



Você pode ver os detalhes executando as seguintes consultas.
DECLARE @HADRSERVERNAME VARCHAR(25) 
SET @HADRSERVERNAME = @@SERVERNAME 
SELECT CLUSTERNODES.GROUP_NAME          AS [AVAILABILITY GROUP NAME], 
       CLUSTERNODES.REPLICA_SERVER_NAME AS [AVAILABILITY REPLICA NAME], 
       CLUSTERNODES.NODE_NAME           AS [AVAILABILITY NODE], 
       RS.ROLE_DESC                     AS [ROLE], 
       DB_NAME(DRS.DATABASE_ID)         AS [AVAILABILITY DATABASE], 
       DRS.SYNCHRONIZATION_STATE_DESC   AS [SYNCHRONIZATION STATUS], 
       DRS.SYNCHRONIZATION_HEALTH_DESC  AS [SYNCHRONIZATION HEALTH] 
FROM   SYS.DM_HADR_AVAILABILITY_REPLICA_CLUSTER_NODES CLUSTERNODES 
       JOIN SYS.DM_HADR_AVAILABILITY_REPLICA_CLUSTER_STATES CLUSTERSTATS 
         ON CLUSTERNODES.REPLICA_SERVER_NAME = CLUSTERSTATS.REPLICA_SERVER_NAME 
       JOIN SYS.DM_HADR_AVAILABILITY_REPLICA_STATES RS 
         ON RS.REPLICA_ID = CLUSTERSTATS.REPLICA_ID 
       JOIN SYS.DM_HADR_DATABASE_REPLICA_STATES DRS 
         ON RS.REPLICA_ID = DRS.REPLICA_ID 
WHERE  CLUSTERNODES.REPLICA_SERVER_NAME <> @HADRSERVERNAME

Segue a saída:


Monitorando um grupo de disponibilidade AlwaysOn


Você pode monitorar o grupo de disponibilidade AlwaysOn usando:
  1. Painel de Monitoramento AlwaysOn no SQL Server Management Studio.
  2. Contadores do Monitor de desempenho.

Monitorar ing Grupo de disponibilidade AlwaysOn s usando o painel

Para monitorar a integridade de um grupo de disponibilidade, você pode usar o Painel de monitoramento. Para iniciar o painel, clique com o botão direito do mouse na pasta Grupos de Disponibilidade e selecione “Mostrar Painel. ” Veja a imagem a seguir:



O painel de monitoramento do grupo de disponibilidade AlwaysOn será aberto em uma nova guia. Ele exibe muitas informações sobre o grupo de disponibilidade configurado. O painel fornece um resumo de alto nível da configuração. Inclui o nome do grupo de disponibilidade, instância primária e modo de failover. Se um cluster tiver um problema, ele será exibido na seção “Problemas ” coluna. Veja a seguinte imagem:



Agora clique no nome do grupo de disponibilidade. Uma nova guia será aberta, mostrando os detalhes do grupo de disponibilidade selecionado. Veja a seguinte imagem:



Na parte superior do painel, você pode ver o estado do grupo de disponibilidade, instância primária, seu modo de failover, estado do cluster e seu tipo.

Na réplica de disponibilidade seção, você pode ver os nomes de instância das réplicas participantes, suas funções, modos de disponibilidade, modos de failover e estados de sincronização. Você também pode revisar mais informações adicionando outras colunas. Para fazer isso, clique com o botão direito do mouse em qualquer lugar da grade e selecione as colunas no menu de contexto. Como alternativa, você pode clicar em “Adicionar/ R mover C colunas ” para obter a lista completa de colunas. Veja a seguinte imagem:



Da mesma forma, você pode revisar mais informações sobre os "bancos de dados de disponibilidade" adicionando outras colunas. Para fazer isso, clique com o botão direito do mouse na seção do banco de dados de disponibilidade e selecione as colunas no menu de contexto. Você também pode clicar em “Adicionar/ R mover C colunas ” para obter a lista completa de colunas. Veja a seguinte imagem:



No G agrupar por seção, você pode ver a lista de "Bancos de dados de disponibilidade" dentro das réplicas de disponibilidade. Você pode personalizar o G agrupar por seção escolhendo qualquer um dos métodos de agrupamento disponíveis na seção “Agrupar por " suspenso. Veja a seguinte imagem:



Quando implantamos os grupos de disponibilidade AlwaysOn, o SQL Server cria uma sessão de evento estendida chamada “AlwaysOn_Health ” na instância do SQL Server. Esse evento estendido pode ser usado para monitorar os eventos e o desempenho dos grupos de disponibilidade. Você pode abrir os eventos estendidos clicando em “Exibir AlwaysOn H saúde E ventiladores. ” Veja a imagem a seguir:



Ele exibirá todas as sessões de eventos de integridade AlwaysOn que podem ser usadas para monitorar a integridade do grupo de disponibilidade.



Você pode visualizar as informações de quorum do cluster clicando em “Exibir informações de quorum do cluster ”. Na caixa de diálogo de informações de quorum do cluster, você pode ver o nome do cluster, o tipo de membro, o estado e a contagem de votos. Veja a seguinte imagem:



Monitorar ing Grupo de disponibilidade AlwaysOn s usando o Monitor de desempenho

Podemos monitorar grupos de disponibilidade usando contadores internos no monitor de desempenho. Aqui, a Microsoft adicionou dois objetos com vários contadores de desempenho. Os objetos são os seguintes:
  1. SQLServer:Réplica de disponibilidade
  2. SQLServer:Réplica de banco de dados

SQLServer:Réplica de Disponibilidade O objeto fornece contadores de desempenho que são usados ​​para monitorar o desempenho de réplicas de disponibilidade AlwaysOn.



Segue a descrição dos contadores:
Nome do contador Descrição
Bytes recebidos da réplica/s Mostra o número de bytes recebidos da réplica por segundo.
Bytes enviados para réplica/s Mostra o número de bytes enviados para a réplica remota por segundo. Na réplica primária, mostra o número de bytes enviados para a réplica secundária. Na réplica secundária, mostra o número de bytes enviados para a réplica primária.
Bytes enviados para transporte/s Mostra o número real de bytes enviados por segundo pela rede para a réplica remota. Na réplica primária, mostra o número de bytes enviados para a réplica secundária. Na réplica secundária, mostra o número de bytes enviados para a réplica primária.
Recebe da réplica/s Mostra o número de mensagens AlwaysOn recebidas da réplica.
Mensagens recentes/s Mostra o número de mensagens AlwaysOn reenviadas no segundo anterior.
Envia para réplica/s Mostra o número de mensagens AlwaysOn enviadas para a réplica.
Envia para Transporte/s Mostra o número real de mensagens AlwaysOn enviadas por segundo pela rede para a réplica de disponibilidade remota. Na réplica primária, mostra o número de mensagens enviadas à réplica secundária. Na réplica secundária, mostra o número de mensagens enviadas para a réplica primária.

SQLServer:Réplica de banco de dados O objeto tem uma lista de contadores usados ​​para monitorar o desempenho das réplicas secundárias de um grupo de disponibilidade. A SQLServer:Réplica de banco de dados O objeto é usado apenas para bancos de dados SQL Server hospedados em uma réplica secundária.



Segue a descrição dos contadores:

Nome do contador

Descrição

Pode ser visto em

Bytes de arquivo recebidos/s

Mostra a quantidade de dados FILESTREAM recebidos pelo banco de dados secundário da réplica secundária no último segundo.

Na réplica secundária

Bytes de log recebidos/s

Mostra o número de registros de log recebidos pelo banco de dados na réplica secundária no último segundo.

Na réplica secundária

Log restante para desfazer

Mostra a quantidade de log restante para concluir a fase de desfazer. A quantidade de log é exibida em kilobytes.

Na réplica secundária

Fila de envio de log

Mostra o número de registros de log nos arquivos de log do banco de dados primário (em kilobytes) que não foram enviados para a réplica secundária. O tamanho da fila não inclui arquivos FILESTREAM que são enviados para uma réplica secundária.

Na réplica secundária

Transação de gravação espelhada/s

Mostra o número de transações que foram gravadas no banco de dados espelhado e estão aguardando o log que é enviado ao espelho para realizar a confirmação, no último segundo.

Na réplica primária

Fila de recuperação

Mostra o número de registros de log nos arquivos de log da réplica secundária que ainda não foram refeitos.

Na réplica secundária

Refazer Bytes Restantes

Mostra a quantidade de log restante a ser refeito para finalizar a fase de reversão. O tamanho do log é exibido em kilobytes.

Na réplica secundária

Bytes refeitos/s

Mostra o número de registros de log refeitos no banco de dados secundário no último segundo.

Na réplica secundária

Registro total exigindo desfazer

Mostra o tamanho total do log que deve ser desfeito. O tamanho do log é exibido em kilobytes.

Na réplica secundária

Atraso da transação

Mostra o atraso na espera por confirmação de confirmação não terminada. O tempo é exibido em milissegundos.

Na réplica secundária

Resumo


Neste artigo, expliquei as diferentes maneiras de monitorar grupos de disponibilidade AlwaysOn. No meu próximo artigo, demonstrarei o processo de failover manual e automático planejado usando o SQL Server Management Studio, o T-SQL Script e o PowerShell.

Fique atento..!