Zelfstudie: Actieve geo-replicatie en failover configureren (Azure SQL Database)

Van toepassing op: Azure SQL Database

In dit artikel leest u hoe u actieve geo-replicatie voor Azure SQL Database configureert met behulp van Azure Portal of Azure CLI en failover kunt initiëren.

Zie Failover-groepen met Azure SQL Database en Failover-groepen met Azure SQL Managed Instance voor failovergroepen.

Vereisten

In deze zelfstudie leert u hoe u een database configureert voor actieve geo-replicatie. Als u wilt weten hoe u een individuele database maakt met Azure Portal, Azure CLI, Azure CLI (sql up) of PowerShell, raadpleegt u de quickstart: Een individuele database maken - Azure SQL Database.

Een secundaire database toevoegen

Met de volgende stappen maakt u een nieuwe secundaire database in een geo-replicatie-partnerschap.

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 rekenkracht. De secundaire database kan een individuele database of een pooldatabase zijn. Zie Aankoopmodel op basis van DTU en Aankoopmodel op basis van vCore voor meer informatie. Nadat de secundaire database is gemaakt en geseed, worden er gegevens gerepliceerd van de primaire database naar de nieuwe secundaire database.

Als uw secundaire replica alleen wordt gebruikt voor herstel na noodgevallen en geen lees- of schrijfworkloads heeft, kunt u besparen op licentiekosten door de database voor stand-by aan te wijzen wanneer u een nieuwe actieve geo-replicatierelatie configureert. Bekijk licentievrije stand-byreplica voor meer informatie.

Notitie

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

  1. Blader in de Azure-portal naar de database die u wilt instellen voor geo-replicatie.

  2. Selecteer uw database op de pagina SQL Database, blader naar Gegevensbeheer, selecteer Replica's en selecteer vervolgens Replica's maken.

    Screenshot that shows the Configure geo-replication option.

  3. Selecteer of maak de server voor de secundaire database en configureer indien nodig de opties compute en opslag . U kunt elke regio voor uw secundaire server selecteren, maar we raden de gekoppelde regio aan.

    Screenshot that shows the Create and configure replica screen.

    Desgewenst kunt u een secundaire database aan een elastische pool toevoegen. Als u de secundaire database in een pool wilt maken, selecteert u Ja naast Wilt u een elastische SQL-pool gebruiken? en selecteert u een pool op de doelserver. Er moet al een pool bestaan op de doelserver. Met deze werkstroom wordt geen pool gemaakt.

  4. Klik op Controleren en maken, controleer de informatie en klik vervolgens op Maken.

  5. De secundaire database wordt gemaakt en het implementatieproces begint.

    Screenshot that shows the deployment status of the secondary database.

  6. Wanneer de implementatie is voltooid, wordt de status van de secundaire database weergegeven.

    Screenshot that shows the secondary database status after deployment.

  7. Ga terug naar de primaire databasepagina en selecteer Replica's. Uw secundaire database wordt vermeld onder Geo-replica's.

    Screenshot that shows the SQL database primary and geo replicas.

Een failover initiëren

U kunt van de secundaire database een primaire database maken.

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

  2. Schuif naar Gegevensbeheer en selecteer Replica's.

  3. Selecteer in de lijst Geo-replica's de database die u wilt gebruiken als de nieuwe primaire database, selecteer het beletselteken en selecteer vervolgens Geforceerde failover.

    Screenshot that shows selecting forced failover from the drop-down.

  4. Selecteer Ja om de failover te starten.


De opdracht maakt van de secundaire database onmiddellijk de primaire database. Dit proces moet normaal gesproken binnen 30 seconden of minder worden voltooid.

Er is een korte periode waarin beide databases niet beschikbaar zijn, in de volgorde van 0 tot 25 seconden, terwijl de rollen worden overgeschakeld. Als de primaire database meerdere secundaire databases heeft, herconfigureert de opdracht automatisch de andere secundaire databases zodat deze verbinding maken met de nieuwe primaire database. Onder normale omstandigheden duurt het minder dan een minuut om deze hele bewerking uit te voeren.

Secundaire database verwijderen

Met deze bewerking wordt de replicatie naar de secundaire database definitief gestopt en wordt de rol van de secundaire database gewijzigd in een normale database voor lezen/schrijven. Als de verbinding met de secundaire database is verbroken, slaagt de opdracht, maar wordt de secundaire pas lezen/schrijven 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 lijst Geo-replica's de database die u wilt verwijderen uit de geo-replicatierelatie, selecteer het beletselteken en selecteer replicatie stoppen.
  4. Er wordt een bevestigingsvenster geopend. Klik op Ja om de database uit het geo-replicatie-partnerschap te verwijderen. (Stel de database in als een lezen-schrijven-database die geen deel uitmaakt van een replicatie.)

Geo-replicatie binnen meerdere abonnementen

Gebruik Transact-SQL (T-SQL) om een geografisch secundair abonnement te maken in een ander abonnement dan het abonnement van het primaire abonnement (ongeacht of deze zich onder dezelfde tenant van Microsoft Entra ID (voorheen Azure Active Directory) bevindt of niet), volg de stappen in deze sectie.

  1. Voeg in dit voorbeeld het IP-adres toe van de clientcomputer die de T-SQL-opdrachten uitvoert, aan de serverfirewalls van zowel de primaire als de secundaire servers. U kunt dit IP-adres bevestigen door de volgende query uit te voeren terwijl deze is verbonden met de primaire server vanaf dezelfde clientcomputer.

    select client_net_address from sys.dm_exec_connections where session_id = @@SPID;
    

    Zie Firewall configureren voor meer informatie.

  2. Maak in de master database op de primaire server een SQL-verificatieaanmelding die is toegewezen aan het instellen van actieve geo-replicatie. Pas de aanmeldingsnaam en het wachtwoord indien nodig aan.

    create login geodrsetup with password = 'ComplexPassword01';
    
  3. Maak in dezelfde database een gebruiker voor de aanmelding en voeg deze toe aan de dbmanager rol:

    create user geodrsetup for login geodrsetup;
    alter role dbmanager add member geodrsetup;
    
  4. Noteer de SID-waarde van de nieuwe aanmelding. Haal de SID-waarde op met behulp van de volgende query.

    select sid from sys.sql_logins where name = 'geodrsetup';
    
  5. Verbinding maken naar de primaire database (niet de master database) en maak een gebruiker voor dezelfde aanmelding.

    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. Maak in de master database op de secundaire server dezelfde aanmelding als op de primaire server met dezelfde naam, hetzelfde wachtwoord en dezelfde SID. Vervang de hexadecimale SID-waarde in de onderstaande voorbeeldopdracht door de waarde die u in stap 4 hebt verkregen.

    create login geodrsetup with password = 'ComplexPassword01', sid=0x010600000000006400000000000000001C98F52B95D9C84BBBA8578FACE37C3E;
    
  8. Maak in dezelfde database een gebruiker voor de aanmelding en voeg deze toe aan de dbmanager rol.

    create user geodrsetup for login geodrsetup;
    alter role dbmanager add member geodrsetup;
    
  9. Verbinding maken naar de master database op de primaire server met behulp van de nieuwe geodrsetup aanmelding en het maken van geo-secundaire gegevens op de secundaire server initiëren. Pas de databasenaam en de secundaire servernaam zo nodig aan. Zodra de opdracht is uitgevoerd, kunt u het maken van geo-secundaire gegevens controleren door een query uit te voeren op de sys.dm_geo_replication_link_status weergave in de primaire database en de sys.dm_operation_status weergave in de master database op de primaire server. De tijd die nodig is om een geo-secundaire te maken, is afhankelijk van de grootte van de primaire database.

    alter database [dbrep] add secondary on server [servername];
    
  10. Nadat de geo-secundaire locatie is gemaakt, kunnen de gebruikers, aanmeldingen en firewallregels die door deze procedure zijn gemaakt, worden verwijderd.

Notitie

Geo-replicatiebewerkingen tussen abonnementen, waaronder installatie en geo-failover, worden alleen ondersteund met behulp van REST API & T-SQL-opdrachten.

Het toevoegen van een geo-secundaire toepassing met T-SQL wordt niet ondersteund wanneer u via een privé-eindpunt verbinding maakt met de primaire server. Als een privé-eindpunt is geconfigureerd, maar openbare netwerktoegang is toegestaan, wordt het toevoegen van een geo-secundaire locatie ondersteund wanneer deze is verbonden met de primaire server vanaf een openbaar IP-adres. Zodra een geo-secundaire locatie is toegevoegd, kan de toegang tot het openbare netwerk worden geweigerd.

Het maken van een geo-secundaire op een logische server in een andere Microsoft Entra-tenant wordt niet ondersteund wanneer Microsoft Entra-verificatie is ingeschakeld op een primaire of secundaire logische server.

Volgende stappen