Herstel na noodgevallen instellen voor SQL Server

Voltooid

Nu gaan we verkennen hoe u de SQL Server-back-end van een toepassing beveiligt met behulp van een combinatie van BCDR-technologieën (business continuity and disaster recovery) van SQL Server en Azure Site Recovery.

SQL Server kan op veel manieren worden geïmplementeerd:

  • Zelfstandige SQL Server: SQL Server en alle databases worden gehost op één machine (fysiek of virtueel). Wanneer gevirtualiseerd, wordt hostclustering gebruikt voor lokale hoge beschikbaarheid. Hoge beschikbaarheid op gastniveau wordt niet geïmplementeerd.
  • SQL Server Failover Clustering Instances (Always On FCI): twee of meer knooppunten waarop SQL Server wordt uitgevoerd met gedeelde schijven, worden geconfigureerd in een Windows Failover-cluster. Als een knooppunt niet beschikbaar is, kan het cluster een failover van SQL Server uitvoeren naar een ander exemplaar. Deze installatie wordt doorgaans gebruikt voor het implementeren van hoge beschikbaarheid op een primaire site. Deze implementatie beschermt niet tegen fouten of storingen in de gedeelde opslaglaag. Een gedeelde schijf kan worden geïmplementeerd met behulp van iSCSI, fiber channel of gedeelde vhdx.
  • SQL AlwaysOn-beschikbaarheidsgroepen: twee of meer knooppunten worden ingesteld in een gedeeld nietscluster, waarbij SQL Server-databases zijn geconfigureerd in een beschikbaarheidsgroep, met synchrone replicatie en automatische failover.

Dit proces maakt gebruik van de volgende systeemeigen SQL-technologieën voor herstel na noodgevallen voor het herstellen van databases naar een externe site:

  • SQL AlwaysOn-beschikbaarheidsgroepen voor herstel na noodgevallen voor SQL Server 2012 Enterprise-edities of nieuwer (inclusief SQL Server 2017 Standard Edition)
  • SQL-databasespiegeling in de modus voor hoge veiligheid, voor andere SQL Server-implementaties.

Ondersteunde scenario's

Site Recovery kan SQL Server beveiligen zoals samengevat in de tabel.

Scenario Naar een secundaire site Naar Azure
Hyper-V Ja Ja
VMware Ja Ja
Fysieke server Ja Ja
Azure N.v.t. Ja

Ondersteunde SQL Server-versies

De volgende SQL Server-versies worden ondersteund voor de ondersteunde scenario's:

  • SQL Server 2017 Enterprise en Standard
  • SQL Server 2016 Enterprise en Standard
  • SQL Server 2014 Enterprise en Standard
  • SQL Server 2012 Enterprise en Standard
  • SQL Server 2008 R2 Enterprise en Standard

Ondersteunde SQL Server-integratie

Site Recovery kan worden geïntegreerd met systeemeigen BCDR-technologieën van SQL Server die in de tabel worden samengevat om een oplossing voor herstel na noodgevallen te bieden.

Functie Functiedetails SQL Server
AlwaysOn-beschikbaarheidsgroep Meerdere zelfstandige exemplaren van SQL Server worden elk uitgevoerd in een failovercluster met meerdere knooppunten. Databases kunnen worden gegroepeerd in failovergroepen die kunnen worden gekopieerd (gespiegeld) op SQL Server-exemplaren, zodat er geen gedeelde opslag nodig is. Biedt herstel na noodgevallen tussen een primaire site en een of meer secundaire sites. Er kunnen twee knooppunten worden ingesteld in een gedeeld nietscluster met SQL Server-databases die zijn geconfigureerd in een beschikbaarheidsgroep met synchrone replicatie en automatische failover. SQL Server (alle ondersteunde versies)
Failoverclustering (Always On FCI) SQL Server maakt gebruik van Windows-failoverclustering voor hoge beschikbaarheid van on-premises SQL Server-workloads. Knooppunten waarop exemplaren van SQL Server met gedeelde schijven worden uitgevoerd, worden geconfigureerd in een failovercluster. Als een exemplaar uitvalt, voert het cluster een failover uit naar een ander exemplaar. Het cluster beschermt niet tegen storingen of storingen in gedeelde opslag. De gedeelde schijf kan worden geïmplementeerd met iSCSI, fiber channel of gedeelde VHDX's. SQL Server (alle ondersteunde versies)
Databasespiegeling (modus voor hoge veiligheid) Beveiligt één database tot één secundaire kopie. Beschikbaar in zowel hoge veiligheid (synchrone) als hoge prestaties (asynchrone) replicatiemodi. Hiervoor is geen failovercluster vereist. SQL Server (alle ondersteunde versies)
Zelfstandige SQL Server De SQL Server en database worden gehost op één server (fysiek of virtueel). Hostclustering wordt gebruikt voor hoge beschikbaarheid als de server virtueel is. Geen hoge beschikbaarheid op gastniveau. Enterprise- of Standard-editie

Vereisten voor implementatie

  • Een on-premises SQL Server-implementatie met een ondersteunde SQL Server-versie. Doorgaans hebt u ook Active Directory nodig voor uw SQL-server.
  • De vereisten voor het scenario dat u wilt implementeren.

Active Directory Domain Services instellen

Active Directory instellen op de secundaire herstelsite, zodat SQL Server correct kan worden uitgevoerd.

  • Kleine ondernemingen: Met een klein aantal toepassingen en één domeincontroller voor de on-premises site, als u een failover wilt uitvoeren voor de hele site, raden we u aan Site Recovery-replicatie te gebruiken om de domeincontroller te repliceren naar het secundaire datacenter of naar Azure.
  • Middelgrote tot grote ondernemingen: als u een groot aantal toepassingen, een Active Directory-forest hebt en u een failover wilt uitvoeren per toepassing of workload, raden we u aan een extra domeincontroller in te stellen in het secundaire datacenter of in Azure. Als u AlwaysOn-beschikbaarheidsgroepen gebruikt om te herstellen naar een externe site, raden we u aan een andere extra domeincontroller in te stellen op de secundaire site of in Azure om te gebruiken voor het herstelde SQL Server-exemplaar.

In deze instructies wordt ervan uitgegaan dat een domeincontroller beschikbaar is op de secundaire locatie.

Integreren met SQL Server AlwaysOn voor replicatie naar Azure

Dit is wat u moet doen:

  1. Importeer scripts die beschikbaar zijn in https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/demos/asr-automation-recovery/scripts/ASR-SQL-FailoverAG.ps1 uw Azure Automation-account. Deze opslagplaats bevat de scripts voor een failover van sql-beschikbaarheidsgroep.
  2. Voeg het ASR-SQL-FailoverAG-script toe als een preactie van de eerste groep van het herstelplan.
  3. Volg de instructies die beschikbaar zijn in het script om een automatiseringsvariabele te maken om de naam van de beschikbaarheidsgroepen op te geven.

SQL Always On biedt geen systeemeigen ondersteuning voor testfailover. Gebruik de volgende procedure om een testfailover uit te voeren:

  1. Configureer Azure Virtual Machine Backup op de virtuele machine die als host fungeert voor de replica van de beschikbaarheidsgroep in Azure.
  2. Voordat u een testfailover van het herstelplan activeert, herstelt u de virtuele machine uit de back-up die u in de vorige stap in het virtuele testnetwerk hebt gemaakt.
  3. Forceer een quorum op de virtuele machine die vanuit de back-up is hersteld.
  4. Werk het IP-adres van de listener bij naar een IP die beschikbaar is in het testfailovernetwerk.
  5. Breng listener online.
  6. Maak een load balancer met één IP die is gemaakt onder de front-end-IP-pool die overeenkomt met elke listener voor beschikbaarheidsgroepen en met de virtuele SQL-machine die is toegevoegd in de back-endpool.
  7. Voer een testfailover uit van het herstelplan.

Nadat u het script in het herstelplan hebt toegevoegd en het herstelplan hebt gevalideerd door een testfailover uit te voeren, kunt u een geplande failover uitvoeren.