Tutorial: Configureer actieve geo-replicatie en failover (Azure SQL Database)

Van toepassing op:Azure SQL Database

Dit artikel laat zien hoe je actieve geo-replicatie configureert en een failover start voor Azure SQL Database door gebruik te maken van het Azure-portaal, PowerShell of de Azure CLI.

Actieve geo-replicatie wordt per database geconfigureerd. Als u een failover wilt uitvoeren voor een groep databases of als voor uw toepassing een stabiel verbindingseindpunt is vereist, kunt u in plaats daarvan failovergroepen overwegen.

Prerequisites

Een secundaire database toevoegen

De volgende stappen creëren een nieuwe secundaire database in een geo-replicatiepartnerschap.

Als u een secundaire database wilt toevoegen, moet u de eigenaar of mede-eigenaar van het abonnement zijn.

De secundaire database heeft dezelfde naam als de primaire database en heeft standaard dezelfde servicelaag en rekengrootte. De secundaire database kan een enkele database zijn of een gepoolde database. Voor meer informatie, zie DTU-gebaseerd aankoopmodel overzicht en vCore-gebaseerd aankoopmodel. Nadat de secundaire database is gemaakt en gezaaid, begint de data zich te repliceren van de primaire database naar de nieuwe secundaire database.

Als je secundaire replica alleen wordt gebruikt voor disaster recovery (DR) en geen lees- of schrijfworkloads heeft, kun je op licentiekosten besparen door de database standby aan te wijzen wanneer je een nieuwe actieve geo-replicatierelatie configureert. Voor meer informatie, zie licentievrije standby-replica.

Note

Als de partnerdatabase al bestaat (bijvoorbeeld als gevolg van het beëindigen van een eerdere geo-replicatierelatie), faalt het commando.

  1. In het Azure-portaal blader je naar de database die je wilt instellen voor geo-replicatie.

  2. Selecteer op de SQL Database-pagina je database, scroll naar Data Management, selecteer Replicas en selecteer vervolgens Replica aanmaken.

    Schermafbeelding waarop de optie Geo-replicatie configureren wordt weergegeven.

  3. Selecteer uw geo-secundaire database Abonnement en resourcegroep.

    Screenshot van het Azure-portaal van de abonnements- en resourcegroep.

  4. Selecteer of maak de server aan voor de secundaire database, en configureer indien nodig de Compute+ opslagopties . Je kunt elke regio selecteren voor je secundaire server, maar we raden de gekoppelde regio aan.

    Optioneel kun je een secundaire database toevoegen aan een elastische pool. Om de secundaire database in een pool aan te maken, selecteer je Ja naast Wil je SQL elastic pool gebruiken? en selecteer je een pool op de doelserver. Er moet al een pool bestaan op de doelserver. Deze workflow creëert geen pool.

  5. Selecteer Beoordelen en maken, controleer de informatie en selecteer vervolgens Maken.

  6. De secundaire database wordt aangemaakt en het implementatieproces begint.

    Screenshot die de implementatiestatus van de secundaire database toont.

  7. Wanneer de implementatie is voltooid, toont de secundaire database de status ervan.

    Screenshot die de status van de secundaire database na de uitrol toont.

  8. Ga terug naar de primaire databasepagina en selecteer Replica's. Je secundaire database staat onder Geo-replica's.

    Screenshot waarop de primaire replica en geo-replica's van de SQL-database te zien zijn.

Een failover initiëren

De secundaire database kan worden overgeschakeld naar de primaire database.

  1. Blader in de Azure-portal naar de primaire database in het geo-replicatie-partnerschap.

  2. Scroll naar Datamanagement en selecteer vervolgens Replicas.

  3. Selecteer in de Geo-replica's-lijst de database die je als nieuwe primaire wilt gebruiken, selecteer de ellipse en selecteer vervolgens Gedwongen failover.

    Screenshot die toont dat je geforceerde failover selecteert vanuit de dropdownlijst.

  4. Selecteer Ja om de failover te starten.

Het commando schakelt onmiddellijk de secundaire database over naar de primaire rol. Dit proces zou normaal gesproken binnen 30 seconden of minder moeten zijn voltooid.

Beide databases zijn tot 25 seconden niet beschikbaar, terwijl de rollen worden omgewisseld. Als de primaire database meerdere secundaire databases heeft, herconfigureert het commando automatisch de andere secundaire databases om verbinding te maken met de nieuwe primaire database. De hele operatie zou onder normale omstandigheden minder dan een minuut moeten duren.

Secundaire database verwijderen

Deze operatie stopt permanent de replicatie naar de secundaire database en verandert de rol van de secundaire database naar een reguliere lees-schrijfdatabase. Als de verbinding met de secundaire database wordt verbroken, slaagt de opdracht, maar de secundaire database wordt pas leesbaar en beschrijfbaar nadat de verbinding is hersteld.

  1. Blader in de Azure-portal naar de primaire database in het geo-replicatie-partnerschap.
  2. Selecteer Replica’s.
  3. Selecteer in de Geo-replica's-lijst de database die je uit het geo-replicatiepartnerschap wilt verwijderen, selecteer de ellips en selecteer vervolgens Stop replicatie.
  4. Er wordt een bevestigingsvenster geopend. Selecteer Ja om de database uit het geo-replicatiepartnerschap te verwijderen. (Stel het in op een read-write-database die geen deel uitmaakt van een replicatie.)

Overkoepelende geo-replicatie tussen abonnementen

  • Om een geo-secundaire replica te maken in een abonnement dat verschilt van het abonnement van de primaire in dezelfde Microsoft Entra-tenant, kun je het Azure-portaal of de stappen in deze sectie gebruiken.
  • Om een geo-secundaire replica te maken in een abonnement dat verschilt van het abonnement van de primaire in een andere Microsoft Entra-tenant, moet je SQL-authenticatie en T-SQL gebruiken zoals beschreven in de stappen in deze sectie. Microsoft Entra-authenticatie voor Azure SQL voor cross-subscription geo-replicatie wordt niet ondersteund wanneer een logische server in een andere Azure-tenant zit
  1. Voeg in dit voorbeeld het IP-adres toe van de clientmachine die de T-SQL-commando's uitvoert aan de serverfirewalls van zowel de primaire als secundaire servers. Je kunt dat IP-adres bevestigen door de volgende query uit te voeren terwijl je verbonden bent met de primaire server vanaf dezelfde clientmachine.

    SELECT client_net_address
    FROM sys.dm_exec_connections
    WHERE session_id = @@SPID;
    

    Zie Azure SQL Database- en Azure Synapse IP-firewallregels voor meer informatie.

  2. Maak in de master database op de primaire server een SQL-authenticatielogin aan die is gewijd aan actieve geo-replicatie opzet. Pas inlognaam en wachtwoord aan indien nodig.

    CREATE LOGIN geodrsetup
        WITH PASSWORD = 'ComplexPassword01';
    
  3. Maak in dezelfde database een gebruiker aan voor de login en voeg deze toe aan de dbmanager rol:

    CREATE USER geodrsetup FOR LOGIN geodrsetup;
    
    ALTER ROLE dbmanager ADD MEMBER geodrsetup;
    
  4. Let op de SID-waarde van de nieuwe login. Verkrijg de SID-waarde met de volgende query.

    SELECT sid
    FROM sys.sql_logins
    WHERE name = 'geodrsetup';
    
  5. Maak verbinding met de primaire database (niet de master database) en maak een gebruiker aan voor dezelfde login.

    CREATE USER geodrsetup FOR LOGIN geodrsetup;
    
  6. Voeg in dezelfde database de gebruiker toe aan de db_owner rol.

    ALTER ROLE db_owner ADD MEMBER geodrsetup;
    
  7. In de master database op de secundaire server maakt u dezelfde login aan als op de primaire server, met dezelfde naam, wachtwoord en SID. Vervang de hexadecimale SID-waarde in het voorbeeldcommando hieronder door die uit Stap 4.

    CREATE LOGIN geodrsetup
        WITH PASSWORD = 'ComplexPassword01', SID = 0x010600000000006400000000000000001C98F52B95D9C84BBBA8578FACE37C3E;
    
  8. Maak in dezelfde database een gebruiker aan voor de login en voeg deze toe aan de dbmanager rol.

    CREATE USER geodrsetup FOR LOGIN geodrsetup;
    
    ALTER ROLE dbmanager ADD MEMBER geodrsetup;
    
  9. Maak verbinding met de master database op de primaire server met de nieuwe geodrsetup login en start geo-secundaire aanmaak op de secundaire server. Pas de databasenaam en de naam van de secundaire server aan waar nodig. Zodra het commando is uitgevoerd, kun je de aanmaak van de geo-secundaire instellingen monitoren door de sys.dm_geo_replication_link_status view in de primaire database en de sys.dm_operation_status view in de master database op de primaire server te bevragen. De tijd die nodig is om een geo-secundaire te creëren hangt af van de grootte van de primaire database.

    alter database [dbrep] add secondary on server [servername];
    
  10. Nadat de geo-secundaire met succes is aangemaakt, kunnen de gebruikers, inloggegevens en firewallregels die met deze procedure zijn aangemaakt, worden verwijderd.