sql >> Database teknologi >  >> RDS >> Sqlserver

Forskellige måder at overvåge SQL Server AlwaysOn Availability Groups

I mine tidligere artikler har jeg forklaret trin-for-trin processen med at implementere en AlwaysOn Availability-gruppe på SQL Server 2017. I denne artikel vil jeg forklare, hvordan man overvåger AlwaysOn-tilgængelighedsgrupper.

Lad os først gennemgå konfigurationen af ​​tilgængelighedsgruppen, vi tidligere havde implementeret. For at gøre det skal du åbne SQL Server Management Studio  Udvid databasemotor fra objektudforskeren  Udvid "AlwaysOn High Availability ”  Udvid “Tilgængelighedsgrupper. ” Du kan se tilgængelighedsgruppen med navnet SQLAAG . Under denne tilgængelighedsgruppe (SQLAAG) kan du se listen over tilgængelighedsreplikaer, tilgængelighedsdatabaser og tilgængelighedsgruppelyttere.

Se følgende billede:

Du kan se detaljerne ved at udføre følgende forespørgsler.

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

Følgende er output:

Overvågning af en AlwaysOn tilgængelighedsgruppe

Du kan overvåge AlwaysOn tilgængelighedsgruppen ved at bruge:

  1. AlwaysOn Monitoring-dashboard i SQL Server Management Studio.
  2. Performance Monitor-tællere.

Overvåg ing Always On Availability-gruppe s ved hjælp af betjeningspanelet

For at overvåge en tilgængelighedsgruppes tilstand kan du bruge overvågningsdashboardet. For at starte dashboardet skal du højreklikke på mappen Tilgængelighedsgrupper og vælge "Vis Dashboard. ” Se følgende billede:

Dashboardet til AlwaysOn-tilgængelighedsgruppeovervågning åbnes på en ny fane. Den viser masser af information om den konfigurerede tilgængelighedsgruppe. Dashboardet giver en oversigt på højt niveau af konfigurationen. Det inkluderer navnet på tilgængelighedsgruppen, den primære instans og failover-tilstand. Hvis en klynge har et problem, vil det blive vist i "Problemer ” kolonne. Se følgende billede:

Klik nu på tilgængelighedsgruppens navn. En ny fane åbnes, der viser detaljerne for den valgte tilgængelighedsgruppe. Se følgende billede:

På toppen af ​​dashboardet kan du se tilgængelighedsgruppens tilstand, primære forekomst, dens failover-tilstand, klyngetilstand og dens type.

I Tilgængelighedsreplika sektion, kan du se forekomstnavnene på de deltagende replikaer, deres roller, tilgængelighedstilstande, failovertilstande og synkroniseringstilstande. Du kan også gennemgå flere oplysninger ved at tilføje andre kolonner. For at gøre det skal du højreklikke hvor som helst på gitteret og vælge kolonnerne fra kontekstmenuen. Alternativt kan du klikke på "Tilføj/ R fjern C olumner ” for at få den fulde liste over kolonner. Se følgende billede:

På samme måde kan du gennemgå flere oplysninger om "tilgængelighedsdatabaserne" ved at tilføje andre kolonner. For at gøre det skal du højreklikke på tilgængelighedsdatabasesektionen og vælge kolonnerne fra kontekstmenuen. Du kan også klikke på "Tilføj/ R fjern C olumner ” for at få den fulde liste over kolonner. Se følgende billede:

I G grupper efter sektion, kan du se listen over "Tilgængelighedsdatabaser" inden for tilgængelighedskopierne. Du kan tilpasse G grupper efter sektionen ved at vælge en af ​​de tilgængelige grupperingsmetoder i "Grupper efter ” rullemenu. Se følgende billede:

Når vi implementerer AlwaysOn-tilgængelighedsgrupperne, opretter SQL Server en udvidet begivenhedssession med navnet "AlwaysOn_Health ” på SQL Server-instansen. Denne udvidede hændelse kan bruges til at overvåge hændelser og ydeevne for tilgængelighedsgrupper. Du kan åbne de udvidede begivenheder ved at klikke på "Vis AlwaysOn H sundhed E ventiler. ” Se følgende billede:

Den vil vise alle AlwaysOn-sundhedshændelsessessioner, der kan bruges til at overvåge tilgængelighedsgruppens tilstand.

Du kan se oplysninger om klyngekvorum ved at klikke på "Vis oplysninger om klyngekvorum ”. I dialogboksen med oplysninger om klyngens kvorum kan du se navnet på klyngen, medlemstype, stat og stemmetal. Se følgende billede:

Overvåg ing Always On Availability-gruppe s ved hjælp af den Performance Monitor

Vi kan overvåge tilgængelighedsgrupper ved hjælp af indbyggede tællere i ydeevnemonitoren. Her har Microsoft tilføjet to objekter med forskellige ydeevnetællere. Objekterne er som følger:

  1. SQLServer:Availability Replica
  2. SQLServer:Databasereplika

SQLServer:Availability Replica objektet giver ydeevnetællere, der bruges til at overvåge ydeevnen af ​​AlwaysOn tilgængelighedsreplikater.

Følgende er beskrivelsen af ​​tællerne:

Tællernavn Beskrivelse
Bytes modtaget fra replika/sek. Viser antallet af bytes modtaget fra replikaen pr. sekund.
Bytes sendt til replika/sek. Viser antallet af bytes sendt til fjernreplikaen pr. sekund. På den primære replika viser den antallet af bytes sendt til den sekundære replika. På den sekundære replika viser den antallet af bytes sendt til den primære replika.
Bytes sendt til transport/sek. Viser det faktiske antal bytes sendt pr. sekund over netværket til fjernreplikaen. På den primære replika viser den antallet af bytes sendt til den sekundære replika. På den sekundære replika viser den antallet af bytes sendt til den primære replika.
Modtager fra Replica/sec Viser antallet af AlwaysOn-beskeder modtaget fra replikaen.
Seneste beskeder/sek. Viser antallet af AlwaysOn-beskeder gensendt i det foregående sekund.
Sender til replika/sek. Viser antallet af AlwaysOn-beskeder sendt til replikaen.
Sender til Transport/sek. Viser det faktiske antal AlwaysOn-beskeder sendt pr. sekund over netværket til fjerntilgængelighedsreplikaen. På den primære replika viser den antallet af beskeder sendt til den sekundære replika. På den sekundære replika viser den antallet af beskeder, der er sendt til den primære replika.

SQLServer:Databasereplika objektet har en liste over tællere, der bruges til at overvåge ydeevnen af ​​de sekundære replikaer af en tilgængelighedsgruppe. SQLServer:Databasereplika objekt bruges kun til SQL Server-databaser, der hostes på en sekundær replika.

Følgende er beskrivelsen af ​​tællerne:

Tællernavn

Beskrivelse

Kan ses på

Fil Bytes modtaget/sek.

Viser mængden af ​​FILESTREAM-data modtaget af den sekundære database for den sekundære replika i sidste sekund.

På sekundær replika

Log Bytes modtaget/sek.

Viser antallet af logposter modtaget af databasen i den sekundære replika i det sidste sekund.

På sekundær replika

Log tilbage til fortryd

Viser mængden af ​​log, der er tilbage for at fuldføre fortrydelsesfasen. Logmængden vises i kilobytes.

På sekundær replika

Log afsendelseskø

Viser antallet af logposter i logfilerne i den primære database (i kilobytes), som ikke er blevet sendt til den sekundære replika. Størrelsen på køen inkluderer ikke FILESTREAM-filer, der sendes til en sekundær replika.

På sekundær replika

Spejlvendt skrivetransaktion/sek.

Viser antallet af transaktioner, der er skrevet til den spejlede database og venter på, at loggen, der sendes til spejlet, udfører commit i sidste sekund.

På primær replika

Gendannelseskø

Viser antallet af logposter i logfilerne for den sekundære replika, som ikke er blevet lavet om endnu.

På sekundær replika

Gentag Bytes tilbage

Viser mængden af ​​log, der skal laves om for at afslutte tilbageføringsfasen. Logstørrelsen vises i kilobytes.

På sekundær replika

Gendan bytes/sek.

Viser antallet af logposter, der er lavet om på den sekundære database i det sidste sekund.

På sekundær replika

Samlet log kræver fortryd

Viser den samlede størrelse af loggen, der skal fortrydes. Størrelsen af ​​loggen vises i kilobytes.

På sekundær replika

Transaktionsforsinkelse

Viser forsinkelsen i at vente på uafsluttet forpligtelsesbekræftelse. Tiden vises i millisekunder.

På sekundær replika

Oversigt

I denne artikel har jeg forklaret de forskellige måder at overvåge AlwaysOn Availability-grupper på. I min næste artikel vil jeg demonstrere den planlagte manuelle og automatiske failover-proces ved hjælp af SQL Server Management Studio, T-SQL Script og PowerShell.

Hold dig opdateret..!


  1. Oracle PL/SQL-samlinger - Tilføjelse af elementer til en eksisterende tabel

  2. Udvikling af fejltolerance i PostgreSQL

  3. Forskellen mellem lokale og globale midlertidige tabeller i SQL Server

  4. SQL Server Internals:Plan Caching Pt. II – Genkompilering af planer