Handledning: Konfigurera aktiv geo-replikering och failover (Azure SQL Database)

gäller för:Azure SQL Database

Den här artikeln visar hur du konfigurerar aktiv geo-replikering och initierar en failover för Azure SQL Database genom att använda Azure-portalen, PowerShell eller Azure CLI.

Aktiv geo-replikering konfigureras per databas. Om du vill växla över en grupp databaser, eller om ditt program kräver en stabil anslutningsslutpunkt, bör du överväga failover-grupper i stället.

Förutsättningar

Lägga till en sekundär databas

Följande steg skapar en ny sekundär databas i ett georeplikeringspartnerskap.

Om du vill lägga till en sekundär databas måste du vara prenumerationsägare eller medägare.

Den sekundära databasen har samma namn som primärdatabasen och har som standard samma tjänstenivå och beräkningsstorlek. Den sekundära databasen kan vara en enda databas eller en poolad databas. För mer information, se översikt av DTU-baserade inköpsmodeller och vCore-baserade inköpsmodeller. Efter att sekundären skapats och seedats börjar data replikera från primärdatabasen till den nya sekundärdatabasen.

Om din sekundära replik endast används för katastrofåterställning (DR) och inte har några arbetsbelastningar för läsning eller skrivning, kan du spara licenskostnader genom att ange databasen som standby när du konfigurerar en ny aktiv geo-replikeringsrelation. Mer information finns i licensfri standby-replika.

Note

Om partnerdatabasen redan existerar (till exempel som ett resultat av att en tidigare geo-replikationsrelation avslutats) misslyckas kommandot.

  1. I Azure-portalen, bläddra till databasen som du vill skapa för georeplikering.

  2. På sidan SQL Database, välj din databas, scrolla till Data Management, välj Replicas och välj sedan Create replica.

    Skärmdump som visar alternativet Konfigurera geo-replikering.

  3. Välj din geosekundära databas Prenumeration och resursgrupp.

    Skärmdump från Azure-portalen för prenumerations- och resursgruppen.

  4. Välj eller skapa servern för den sekundära databasen och konfigurera Compute + lagringsalternativen om det behövs. Du kan välja vilken region som helst för din sekundära server, men vi rekommenderar den parade regionen.

    Eventuellt kan du lägga till en sekundär databas i en elastisk pool. För att skapa den sekundära databasen i en pool, välj Ja bredvid Vill du använda SQL elastic pool? och välj en pool på målservern. En pool måste redan finnas på målservern. Detta arbetsflöde skapar ingen pool.

  5. Välj Granska + skapa, granska informationen och välj sedan Skapa.

  6. Den sekundära databasen skapas och distributionsprocessen börjar.

    Skärmdump som visar driftsättningsstatusen för den sekundära databasen.

  7. När distributionen är klar visar den sekundära databasen dess status.

    Skärmdump som visar statusen för sekundär databas efter distribution.

  8. Gå tillbaka till den primära databassidan och välj sedan Repliker. Din sekundära databas listas under Geo-repliker.

    Skärmdump som visar SQL-databasens primära och geo-repliker.

Initiera en övergång till reservsystem

Den sekundära databasen kan bytas till att bli den primära.

  1. I Azure Portal går du till den primära databasen i geo-replikeringspartnerskapet.

  2. Scrolla till Datahantering och välj sedan Repliker.

  3. I listan Geo-repliker väljer du den databas som du vill ska bli den nya primära databasen, väljer ellipsen (...) och väljer sedan Tvungen redundansväxling.

    Skärmdump som visar att man väljer tvingad failover från rullgardinslistan.

  4. Välj Ja när du vill starta redundansväxlingen.

Kommandot byter omedelbart den sekundära databasen till primärrollen. Denna process bör normalt vara klar inom 30 sekunder eller mindre.

Båda databaserna är otillgängliga, i upp till 25 sekunder, medan rollerna är ombytta. Om primärdatabasen har flera sekundära databaser omkonfigurerar kommandot automatiskt de andra sekundära databaserna för att ansluta till den nya primärdatabasen. Hela operationen borde under normala omständigheter ta mindre än en minut att slutföra den.

Ta bort sekundär databas

Denna operation stoppar permanent replikeringen till den sekundära databasen och ändrar sekundärens roll till en vanlig läs-skriv-databas. Om anslutningen till den sekundära databasen bryts lyckas kommandot, men den sekundära databasen går inte över till läs- och skrivläge förrän anslutningen har återställts.

  1. I Azure-portalen går du till den primära databasen i geo-replikeringspartnerskapet.
  2. Välj Replicas.
  3. I Geo-replikationslistan , välj databasen du vill ta bort från geo-replikeringspartnerskapet, välj ellipsen och välj sedan Stoppa replikering.
  4. Ett bekräftelsefönster öppnas. Välj Ja för att ta bort databasen från geo-replikeringskopplingen. (Sätt in den i en läs-skriv-databas som inte ingår i någon replikering.)

Geo-replikering mellan prenumerationer

  • För att skapa en geosekundär replika i en prenumeration som skiljer sig från prenumerationen för primären i samma Microsoft Entra-tenant, kan du använda Azure-portalen eller stegen i detta avsnitt.
  • För att skapa en geosekundär replika i en prenumeration som skiljer sig från prenumerationen för primären i en annan Microsoft Entra-tenant, måste du använda SQL-autentisering och T-SQL som beskrivs i stegen i detta avsnitt. Microsoft Entra-autentisering för Azure SQL för georeplikering mellan prenumerationer stöds inte när en logisk server ligger i en annan Azure-klientorganisation
  1. Lägg till IP-adressen till klientmaskinen som utför T-SQL-kommandona i detta exempel, till serverbrandväggarna för både primära och sekundära servrar. Du kan bekräfta den IP-adressen genom att köra följande fråga medan du är ansluten till primärservern från samma klientdator.

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

    Mer information finns i Azure SQL Database och Azure Synapse IP-brandväggsregler.

  2. I databasen masterprimärservern , skapa en SQL-autentiseringsinloggning dedikerad till aktiv georeplikeringsinstallation. Justera inloggningsnamn och lösenord vid behov.

    CREATE LOGIN geodrsetup
        WITH PASSWORD = 'ComplexPassword01';
    
  3. I samma databas, skapa en användare för inloggningen och lägg till den i dbmanager rollen:

    CREATE USER geodrsetup FOR LOGIN geodrsetup;
    
    ALTER ROLE dbmanager ADD MEMBER geodrsetup;
    
  4. Notera SID-värdet på den nya inloggningen. Erhåll SID-värdet med följande fråga.

    SELECT sid
    FROM sys.sql_logins
    WHERE name = 'geodrsetup';
    
  5. Koppla upp dig mot huvuddatabasen (inte databasen master ) och skapa en användare för samma inloggning.

    CREATE USER geodrsetup FOR LOGIN geodrsetup;
    
  6. I samma databas, lägg till användaren i rollen db_owner .

    ALTER ROLE db_owner ADD MEMBER geodrsetup;
    
  7. I databasen masterden sekundära servern, skapa samma inloggning som på den primära servern, med samma namn, lösenord och SID. Byt ut det hexadecimala SID-värdet i exempelkommandot nedan mot det som erhålls i steg 4.

    CREATE LOGIN geodrsetup
        WITH PASSWORD = 'ComplexPassword01', SID = 0x010600000000006400000000000000001C98F52B95D9C84BBBA8578FACE37C3E;
    
  8. I samma databas, skapa en användare för inloggningen och lägg till den i dbmanager rollen.

    CREATE USER geodrsetup FOR LOGIN geodrsetup;
    
    ALTER ROLE dbmanager ADD MEMBER geodrsetup;
    
  9. Koppla upp dig mot databasen masterprimärservern med den nya geodrsetup inloggningen och initiera geosekundär skapande på sekundärservern. Justera databasnamn och sekundärservernamn efter behov. När kommandot har körts kan du övervaka skapandet av geo-sekundären genom att köra frågor mot vyn sys.dm_geo_replication_link_status i primärdatabasen och vyn sys.dm_operation_status i master-databasen på primärservern. Tiden som krävs för att skapa en geo-sekundär beror på storleken på den primära databasen.

    alter database [dbrep] add secondary on server [servername];
    
  10. Efter att geo-sekundären har skapats framgångsrikt kan användarna, inloggningarna och brandväggsreglerna som skapats med denna procedur tas bort.