Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
Om deze tutorial te voltooien, heb je één enkele Azure SQL Database nodig. Om te leren hoe je een enkele database maakt met Azure portal, Azure CLI of PowerShell, zie Quickstart: Create a single database - Azure SQL Database.
Je kunt het Azure-portaal gebruiken om Active geo-replicatie op te zetten over abonnementen heen, zolang beide abonnementen in dezelfde Microsoft Entra ID-tenant zitten.
- Als u een geo-secundaire replica wilt maken in een ander abonnement dan dat van de primaire replica in een andere Microsoft Entra ID-tenant, gebruikt u de T-SQL-zelfstudie voor een geo-secundaire replica voor abonnementen en Microsoft Entra ID-tenants.
- Geo-replicatiebewerkingen tussen abonnementen, waaronder installatie en geo-failover, worden ook ondersteund met behulp van Databases Create or Update REST API.
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.
In het Azure-portaal blader je naar de database die je wilt instellen voor geo-replicatie.
Selecteer op de SQL Database-pagina je database, scroll naar Data Management, selecteer Replicas en selecteer vervolgens Replica aanmaken.
Selecteer uw geo-secundaire database Abonnement en resourcegroep.
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.
Selecteer Beoordelen en maken, controleer de informatie en selecteer vervolgens Maken.
De secundaire database wordt aangemaakt en het implementatieproces begint.
Wanneer de implementatie is voltooid, toont de secundaire database de status ervan.
Ga terug naar de primaire databasepagina en selecteer Replica's. Je secundaire database staat onder Geo-replica's.
Een failover initiëren
De secundaire database kan worden overgeschakeld naar de primaire database.
Blader in de Azure-portal naar de primaire database in het geo-replicatie-partnerschap.
Scroll naar Datamanagement en selecteer vervolgens Replicas.
Selecteer in de Geo-replica's-lijst de database die je als nieuwe primaire wilt gebruiken, selecteer de ellipse en selecteer vervolgens Gedwongen failover.
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.
- Blader in de Azure-portal naar de primaire database in het geo-replicatie-partnerschap.
- Selecteer Replica’s.
- 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.
- 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
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.
Maak in de
masterdatabase 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';Maak in dezelfde database een gebruiker aan voor de login en voeg deze toe aan de
dbmanagerrol:CREATE USER geodrsetup FOR LOGIN geodrsetup; ALTER ROLE dbmanager ADD MEMBER geodrsetup;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';Maak verbinding met de primaire database (niet de
masterdatabase) en maak een gebruiker aan voor dezelfde login.CREATE USER geodrsetup FOR LOGIN geodrsetup;Voeg in dezelfde database de gebruiker toe aan de
db_ownerrol.ALTER ROLE db_owner ADD MEMBER geodrsetup;In de
masterdatabase 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;Maak in dezelfde database een gebruiker aan voor de login en voeg deze toe aan de
dbmanagerrol.CREATE USER geodrsetup FOR LOGIN geodrsetup; ALTER ROLE dbmanager ADD MEMBER geodrsetup;Maak verbinding met de
masterdatabase op de primaire server met de nieuwegeodrsetuplogin 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 demasterdatabase 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];Nadat de geo-secundaire met succes is aangemaakt, kunnen de gebruikers, inloggegevens en firewallregels die met deze procedure zijn aangemaakt, worden verwijderd.