Volg deze eenvoudige stappen samen met het script om een eenvoudige en enkele e-mail in te stellen en te ontvangen wanneer er een failover plaatsvindt in uw AlwaysOn-beschikbaarheidsgroep.
AlwaysOn-beschikbaarheidsgroep in SQL Server
AlwaysOn Availability Group is uitgebracht met SQL Server 2012 en is de opvolger van database-mirroring. U kunt het instellen in uw SQL Server omgeving voor hoge beschikbaarheid of noodherstel. Voor hoge beschikbaarheid moet de groep in synchrone modus worden ingesteld en voor disaster recovery moet de groep in asynchrone modus worden ingesteld.
Probleem met ingebouwd waarschuwingssysteem
Zodra u als DBA de Always On Availability Group in uw SQL Server omgeving waarin u waarschuwingen zou willen instellen, zodat u weet wanneer iets uw Always On-installatie verstoort. Het kan zijn voor het opschorten van gegevensverplaatsing of wanneer de replica van rol verandert. Hoewel je kunt gebruiken SQL ServerMet de ingebouwde SQL-agent en waarschuwing om u meldingen te sturen, zult u meerdere e-mails ontvangen die mogelijk uw inbox vullen. Stel je voor dat je op vakantie bent geweest en als je terug bent zou je mailbox overspoeld worden met e-mails. In een dergelijk scenario is de kans zeer groot dat u de waarschuwingsmail mist.
Dus als u niet wilt dat uw inbox gevuld wordt met waarschuwingsmails en tegelijkertijd geen failover wilt missen die plaatsvond in uw Always On-groep, volg dan deze eenvoudige stappen en scripts. Dit zal u slechts één e-mail sturen die aangeeft welke server hosts de primaire groep en dat is hosting de secundaire groep.
SQL Server Script
Dit script is minder dan 15 regels. Het stuurt een eenvoudige maar effectieve e-mail zoals hieronder weergegeven
Afbeelding: momentopname met een voorbeeld-e-mail die door deze waarschuwing wordt geactiveerd.
Vanaf een centrale server voordat u dit script implementeert via een SQL Server job, moet u eerst een gekoppelde server aan de primaire server maken. Nu kunt u de SQL Server taak met dit script om op een bepaald tijdstip uit te voeren. Om direct een waarschuwing te krijgen, kunt u een SQL Server alert voor Error ID 1480 en als reactie op die Alert kunt u dit aangeven SQL Server Baan.
In dit script geven we de beschikbaarheidsgroepnaam als parameter door aan de functie fn_hadr_group_is_primary met behulp van openquery en linkedserver. Op basis van het resultaat wordt een mail getriggerd
Script :
declare @f as int
declare @m as varchar(500)
set @m = 'Availability Group Check : ' + CONVERT(varchar(23), getdate(), 121) + char(10)
-- <PRIMARY SERVER NAME> , <SECONDARY SERVER NAME> , <ALWAYS ON AVAILABILITY GROUP NAME> are place holders and you should update the script with Proper values before deploying it
set @f = (select * from openquery([<PRIMARY SERVER NAME>],'Select dbo.fn_hadr_group_is_primary(''<ALWAYS ON AVAILABILITY GROUP NAME>'')'))
if @f = 0
set @m = @m + char(10) + 'WRONG : The Availability Group <ALWAYS ON AVAILABILITY GROUP NAME> is on <SECONDARY SERVER NAME>. Failover it to <PRIMARY SERVER NAME>' + char(10)
else
set @m = @m + char(10) + 'CORRECT : The Availability Group <ALWAYS ON AVAILABILITY GROUP NAME> is on <PRIMARY SERVER NAME>.' + Char(10)
print @m
EXEC msdb.dbo.sp_send_dbmail @profile_name='<SQL DBMAIL PROFILE NAME>',
@recipients=',RECIPIENT EMAIL ADDRESS. SEPARATE MULTIPLE EMAIL ADDRESS BY ;',
@subject='Availability Group Check',
@body=@m
Herstel gegevens over een ramp
Wanneer zich een gegevensramp voordoet, is een automatische failover en noodherstel mogelijk niet altijd voldoende. Soms, wanneer u de waarschuwingsmail van het script ontvangt, moet u een handleiding uitvoeren SQL-gegevensherstel en herstel uw belangrijke gegevens van de mislukte SQL Server aanleg.
Auteur Introductie:
Neil Varley is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder reparatie Outlook en Excel-herstelsoftwareproducten. Voor meer informatie bezoek www.datanumen.com
