Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Différentes façons de surveiller les groupes de disponibilité SQL Server AlwaysOn

Dans mes articles précédents, j'ai expliqué le processus étape par étape de déploiement d'un groupe de disponibilité AlwaysOn sur SQL Server 2017. Dans cet article, je vais expliquer comment surveiller les groupes de disponibilité AlwaysOn.

Examinons d'abord la configuration du groupe de disponibilité que nous avions déployé précédemment. Pour ce faire, ouvrez SQL Server Management Studio  Développez moteur de base de données depuis l'explorateur d'objets  Développez "AlwaysOn High Availability ”  Développez “Groupes de disponibilité. ” Vous pouvez voir le groupe de disponibilité nommé SQLAAG . Sous ce groupe de disponibilité (SQLAAG), vous pouvez voir la liste des réplicas de disponibilité, des bases de données de disponibilité et des écouteurs de groupe de disponibilité.

Voir l'image suivante :

Vous pouvez voir les détails en exécutant les requêtes suivantes.

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

Voici le résultat :

Surveiller un groupe de disponibilité AlwaysOn

Vous pouvez surveiller le groupe de disponibilité AlwaysOn en utilisant :

  1. Tableau de bord AlwaysOn Monitoring dans SQL Server Management Studio.
  2. Compteurs du moniteur de performances

Surveiller ing Groupe de disponibilité AlwaysOn s en utilisant le tableau de bord

Pour surveiller l'intégrité d'un groupe de disponibilité, vous pouvez utiliser le tableau de bord de surveillance. Pour lancer le tableau de bord, cliquez avec le bouton droit sur le dossier Groupes de disponibilité et sélectionnez "Afficher Tableau de bord. ” Voir l'image suivante :

Le tableau de bord de surveillance du groupe de disponibilité AlwaysOn s'ouvrira dans un nouvel onglet. Il affiche de nombreuses informations sur le groupe de disponibilité configuré. Le tableau de bord fournit un résumé de haut niveau de la configuration. Il inclut le nom du groupe de disponibilité, de l'instance principale et du mode de basculement. Si un cluster a un problème, il sera affiché dans la section "Problèmes " colonne. Voir l'image suivante :

Cliquez maintenant sur le nom du groupe de disponibilité. Un nouvel onglet s'ouvrira, affichant les détails du groupe de disponibilité sélectionné. Voir l'image suivante :

En haut du tableau de bord, vous pouvez voir l'état du groupe de disponibilité, l'instance principale, son mode de basculement, l'état du cluster et son type.

Dans le réplica de disponibilité , vous pouvez voir les noms d'instance des répliques participantes, leurs rôles, les modes de disponibilité, les modes de basculement et les états de synchronisation. Vous pouvez également consulter plus d'informations en ajoutant d'autres colonnes. Pour ce faire, faites un clic droit n'importe où sur la grille et sélectionnez les colonnes dans le menu contextuel. Vous pouvez également cliquer sur "Ajouter/ R supprimer C les colonnes ” pour obtenir la liste complète des colonnes. Voir l'image suivante :

De même, vous pouvez consulter plus d'informations sur les "bases de données de disponibilité" en ajoutant d'autres colonnes. Pour ce faire, cliquez avec le bouton droit sur la section de la base de données de disponibilité et sélectionnez les colonnes dans le menu contextuel. Vous pouvez également cliquer sur "Ajouter/ R supprimer C les colonnes ” pour obtenir la liste complète des colonnes. Voir l'image suivante :

Dans le G regrouper par section, vous pouvez voir la liste des "Bases de données de disponibilité" dans les réplicas de disponibilité. Vous pouvez personnaliser le G regrouper par en choisissant l'une des méthodes de regroupement disponibles dans la section "Grouper par " menu déroulant. Voir l'image suivante :

Lorsque nous déployons les groupes de disponibilité AlwaysOn, SQL Server crée une session d'événements étendue nommée « AlwaysOn_Health ” sur l'instance SQL Server. Cet événement étendu peut être utilisé pour surveiller les événements et les performances des groupes de disponibilité. Vous pouvez ouvrir les événements étendus en cliquant sur "Afficher AlwaysOn H terre E évents. ” Voir l'image suivante :

Il affichera toutes les sessions d'événements de santé AlwaysOn qui peuvent être utilisées pour surveiller la santé du groupe de disponibilité.

Vous pouvez afficher les informations sur le quorum du cluster en cliquant sur "Afficher les informations sur le quorum du cluster ”. Dans la boîte de dialogue d'informations sur le quorum du cluster, vous pouvez voir le nom du cluster, le type de membre, l'état et le nombre de votes. Voir l'image suivante :

Surveiller ing Groupe de disponibilité AlwaysOn s en utilisant le Moniteur de performances

Nous pouvons surveiller les groupes de disponibilité à l'aide de compteurs intégrés dans le moniteur de performances. Ici, Microsoft a ajouté deux objets avec différents compteurs de performances. Les objets sont les suivants :

  1. SQLServer :réplique de disponibilité
  2. SQLServer :réplique de la base de données

SQLServer :réplique de disponibilité L'objet fournit des compteurs de performances utilisés pour surveiller les performances des réplicas de disponibilité AlwaysOn.

Voici la description des compteurs :

Nom du compteur Description
Octets reçus de la réplique/s Affiche le nombre d'octets reçus du réplica par seconde.
Octets envoyés au réplica/s Affiche le nombre d'octets envoyés au réplica distant par seconde. Sur le réplica principal, il affiche le nombre d'octets envoyés au réplica secondaire. Sur le réplica secondaire, il indique le nombre d'octets envoyés au réplica principal.
Octets envoyés au transport/s Affiche le nombre réel d'octets envoyés par seconde sur le réseau à la réplique distante. Sur le réplica principal, il affiche le nombre d'octets envoyés au réplica secondaire. Sur le réplica secondaire, il indique le nombre d'octets envoyés au réplica principal.
Reçoit de la réplique/sec Affiche le nombre de messages AlwaysOn reçus du réplica.
Messages récents/s Affiche le nombre de messages AlwaysOn renvoyés dans la seconde précédente.
Envoie au réplica/s Affiche le nombre de messages AlwaysOn envoyés au réplica.
Envoie au transport/sec Affiche le nombre réel de messages AlwaysOn envoyés par seconde sur le réseau au réplica de disponibilité distant. Sur le réplica principal, il affiche le nombre de messages envoyés au réplica secondaire. Sur le réplica secondaire, il affiche le nombre de messages envoyés au réplica principal.

SQLServer :réplique de la base de données L'objet contient une liste de compteurs utilisés pour surveiller les performances des réplicas secondaires d'un groupe de disponibilité. Le SQLServer :réplique de la base de données L'objet est utilisé uniquement pour les bases de données SQL Server hébergées sur un réplica secondaire.

Voici la description des compteurs :

Nom du compteur

Description

Peut être consulté sur

Octets de fichier reçus/s

Affiche la quantité de données FILESTREAM reçues par la base de données secondaire du réplica secondaire au cours de la dernière seconde.

Sur le réplica secondaire

Octets de journal reçus/s

Affiche le nombre d'enregistrements de journal reçus par la base de données dans le réplica secondaire au cours de la dernière seconde.

Sur le réplica secondaire

Journal restant pour annulation

Affiche la quantité de journal restante pour terminer la phase d'annulation. La quantité de journal est affichée en kilo-octets.

Sur le réplica secondaire

File d'attente d'envoi du journal

Affiche le nombre d'enregistrements de journal dans les fichiers journaux de la base de données principale (en kilo-octets) qui n'ont pas été envoyés au réplica secondaire. La taille de la file d'attente n'inclut pas les fichiers FILESTREAM qui sont envoyés à un réplica secondaire.

Sur le réplica secondaire

Transaction d'écriture en miroir/s

Affiche le nombre de transactions qui ont écrit dans la base de données en miroir et attendent le journal envoyé au miroir pour effectuer la validation, dans la dernière seconde.

Sur le réplica principal

File d'attente de récupération

Affiche le nombre d'enregistrements de journal dans les fichiers journaux du réplica secondaire qui n'ont pas encore été refaits.

Sur le réplica secondaire

Rétablir les octets restants

Affiche la quantité de journal restant à refaire pour terminer la phase de retour. La taille du journal est affichée en kilo-octets.

Sur le réplica secondaire

Octets répétés/s

Affiche le nombre d'enregistrements de journal refaits sur la base de données secondaire au cours de la dernière seconde.

Sur le réplica secondaire

Journal total nécessitant une annulation

Affiche la taille totale du journal qui doit être annulée. La taille du journal est affichée en kilo-octets.

Sur le réplica secondaire

Délai de transaction

Affiche le délai d'attente d'un accusé de réception de validation ininterrompu. Le temps est affiché en millisecondes.

Sur le réplica secondaire

Résumé

Dans cet article, j'ai expliqué les différentes manières de surveiller les groupes de disponibilité AlwaysOn. Dans mon prochain article, je démontrerai le processus de basculement manuel et automatique prévu à l'aide de SQL Server Management Studio, de T-SQL Script et de PowerShell.

Restez à l'écoute.. !