Flytta resurser till en ny region – Azure SQL Database
gäller för:Azure SQL Database
I den här artikeln får du lära dig ett allmänt arbetsflöde för hur du flyttar databasen eller den elastiska poolen till en ny region.
Not
- Om du vill flytta databaser och elastiska pooler till en annan Azure-region kan du också använda den rekommenderade Azure Resource Mover.
- Den här artikeln gäller migreringar i det offentliga Azure-molnet eller i samma nationella moln.
Överblick
Det finns olika scenarier där du vill flytta din befintliga databas eller pool från en region till en annan. Du expanderar till exempel ditt företag till en ny region och vill optimera det för den nya kundbasen. Eller så måste du flytta åtgärderna till en annan region av efterlevnadsskäl. Eller så släppte Azure en ny region som ger en bättre närhet och förbättrar kundupplevelsen.
Det allmänna arbetsflödet för att flytta resurser till en annan region består av följande steg:
- Kontrollera förutsättningarna för flytten.
- Förbered för att flytta resurserna som omfattas.
- Övervaka förberedelseprocessen.
- Testa flyttprocessen.
- Initiera den faktiska flytten.
Kontrollera förutsättningarna för att flytta databasen
- Skapa en målserver för varje källserver.
- Konfigurera brandväggen med rätt undantag med hjälp av PowerShell-.
- Konfigurera båda servrarna med rätt inloggningar. Om du inte är prenumerationsadministratör eller SQL Server-administratör kan du kontakta administratören för att tilldela de behörigheter som du behöver. Mer information finns i Hur man hanterar säkerheten för Azure SQL Database efter katastrofåterställning.
- Om dina databaser krypteras med transparent datakryptering (TDE) och tar med din egen krypteringsnyckel (BYOK eller Customer-Managed Key) i Azure Key Vault kontrollerar du att rätt krypteringsmaterial etableras i målregionerna.
- Det enklaste sättet att göra detta är att lägga till krypteringsnyckeln från det befintliga nyckelvalvet (som används som TDE-skydd på källservern) till målservern och sedan ange nyckeln som TDE-skydd på målservern eftersom en server i en region nu kan anslutas till ett nyckelvalv i någon annan region.
- Som bästa praxis för att säkerställa att målservern har åtkomst till äldre krypteringsnycklar (krävs för att återställa databassäkerhetskopior) kör du cmdleten Get-AzSqlServerKeyVaultKey på källservern för att returnera listan över tillgängliga nycklar och lägga till nycklarna på målservern.
- Mer information och metodtips för att konfigurera kundhanterad TDE på målservern finns i transparent datakryptering i Azure SQL med kundhanterade nycklar i Azure Key Vault.
- Information om hur du flyttar nyckelvalvet till den nya regionen finns i Flytta ett Azure-nyckelvalv mellan regioner.
- Om granskning på databasnivå är aktiverat inaktiverar du det och aktiverar granskning på servernivå i stället. Efter failover kräver granskning på databasnivå trafik mellan regioner, vilket inte är önskvärt eller möjligt efter systemflytten.
- För granskningar på servernivå kontrollerar du att:
- Lagringscontainern, Log Analytics eller händelsehubben med befintliga granskningsloggar flyttas till målregionen.
- Granskning är konfigurerad på målservern. Mer information finns i Komma igång med SQL Database-granskning.
- Om servern har en långsiktig kvarhållningsprincip (LTR) förblir de befintliga LTR-säkerhetskopiorna associerade med den aktuella servern. Eftersom målservern är annorlunda kan du komma åt de äldre LTR-säkerhetskopiorna i källregionen med hjälp av källservern, även om servern tas bort.
Not
Migrering av databaser med befintliga LTR-säkerhetskopior mellan nationella och offentliga regioner stöds inte eftersom detta kräver att LTR-säkerhetskopior flyttas till målservern, vilket för närvarande inte är möjligt.
Förbereda resurser
- Skapa en redundansgrupp mellan källans server och målservern.
- Lägg till de databaser som du vill flytta till redundansgruppen. Replikering av alla tillagda databaser initieras automatiskt. Mer information finns i Använda redundansgrupper med SQL Database.
Övervaka förberedelseprocessen
Du kan regelbundet anropa Get-AzSqlDatabaseFailoverGroup för att övervaka replikering av dina databaser från källan till målservern. Utdataobjektet för Get-AzSqlDatabaseFailoverGroup
innehåller en egenskap för ReplicationState:
- ReplicationState = 2 (CATCH_UP) anger att databasen är synkroniserad och kan växlas över på ett säkert sätt.
- ReplicationState = 0 (SEEDING) anger att databasen ännu inte är seedad och att ett redundansförsök misslyckas.
Testsynkronisering
När ReplicationState2
ansluter du till varje databas eller delmängd av databaser med hjälp av den sekundära slutpunkten <fog-name>.secondary.database.windows.net
och utför alla frågor mot databaserna för att säkerställa anslutning, korrekt säkerhetskonfiguration och datareplikering.
Initiera flytten
- Anslut till målservern med hjälp av den sekundära slutpunkten
<fog-name>.secondary.database.windows.net
. - Använd Switch-AzSqlDatabaseFailoverGroup för att växla den sekundära servern till den primära med fullständig synkronisering. Den här åtgärden lyckas eller så återställs den.
- Verifiera att kommandot har slutförts framgångsrikt genom att använda
nslookup <fog-name>.secondary.database.windows.net
för att förvissa dig om att DNS CNAME-posten pekar på målregionens IP-adress. Om växelkommandot misslyckas uppdateras inte CNAME.
Ta bort källdatabaserna
När flytten är klar tar du bort resurserna i källregionen för att undvika onödiga avgifter.
- Ta bort failover-gruppen med hjälp av Remove-AzSqlDatabaseFailoverGroup.
- Ta bort varje källdatabas med Remove-AzSqlDatabase för var och en av databaserna på källservern. Detta avslutar automatiskt geo-replikeringslänkar.
- Ta bort källservern med Remove-AzSqlServer.
- Ta bort nyckelvalvet, granskningslagringscontainrarna, event hubben, Microsoft Entra-klientorganisationen och andra beroende resurser för att undvika fortsatt fakturering för dem.
Kontrollera förutsättningarna för att flytta pool
- Skapa en målserver för varje källserver.
- Konfigurera brandväggen med rätt undantag med hjälp av PowerShell.
- Konfigurera servrarna med rätt inloggningar. Om du inte är prenumerationsadministratör eller serveradministratör arbetar du med administratören för att tilldela de behörigheter som du behöver. För mer information, se Hur man hanterar säkerhet för Azure SQL Database efter katastrofåterställning.
- Om dina databaser krypteras med transparent datakryptering och använder din egen krypteringsnyckel i Azure Key Vault kontrollerar du att rätt krypteringsmaterial etableras i målregionen.
- Skapa en elastisk målpool för varje elastisk källpool och se till att poolen skapas på samma tjänstnivå, med samma namn och samma storlek.
- Om en granskning på databasnivå är aktiverad inaktiverar du den och aktiverar granskning på servernivå i stället. Efter övergången till redundanssystem kommer granskning på databasnivå att kräva trafik mellan olika regioner, vilket varken är önskvärt eller möjligt efter flytten.
- För granskningar på servernivå kontrollerar du att:
- Lagringscontainern, Log Analytics eller händelsehubben med befintliga granskningsloggar flyttas till målregionen.
- Granskningskonfigurationen konfigureras på målservern. För mer information, se SQL-databasanalys.
- Om servern har en långsiktig kvarhållningsprincip (LTR) förblir de befintliga LTR-säkerhetskopiorna associerade med den aktuella servern. Eftersom målservern är annorlunda kan du komma åt de äldre LTR-säkerhetskopiorna i källregionen med hjälp av källservern, även om servern tas bort.
Not
Migrering av databaser med befintliga LTR-säkerhetskopior mellan nationella och offentliga regioner stöds inte eftersom detta kräver att LTR-säkerhetskopior flyttas till målservern, vilket för närvarande inte är möjligt.
Förbered för flytt
Skapa en separat redundansgrupp mellan varje elastisk pool på källservern och dess elastiska motsvarighetpool på målservern.
Lägg till alla databaser i poolen i redundansgruppen. Replikering av de tillagda databaserna initieras automatiskt. Mer information finns i Använda redundansgrupper med SQL Database.
Anteckning
Även om det är möjligt att skapa en redundansgrupp som innehåller flera elastiska pooler rekommenderar vi starkt att du skapar en separat redundansgrupp för varje pool. Om du har ett stort antal databaser över flera elastiska pooler som du behöver flytta kan du köra förberedelsestegen parallellt och sedan initiera flyttsteget parallellt. Den här processen skalas bättre och tar mindre tid jämfört med att ha flera elastiska pooler i samma redundansgrupp.
Övervaka förberedelseprocessen
Du kan regelbundet anropa Get-AzSqlDatabaseFailoverGroup för att övervaka replikering av dina databaser från källan till målet. Utdataobjektet för Get-AzSqlDatabaseFailoverGroup
innehåller en egenskap för ReplicationState:
- ReplicationState = 2 (CATCH_UP) anger att databasen är synkroniserad och kan säkert överföras.
- ReplicationState = 0 (SEEDING) anger att databasen ännu inte är seedad och att ett redundansförsök misslyckas.
Testsynkronisering
När ReplicationState är 2
ansluter du till varje databas eller delmängd av databaser med hjälp av den sekundära slutpunkten <fog-name>.secondary.database.windows.net
och utför alla frågor mot databaserna för att säkerställa anslutning, korrekt säkerhetskonfiguration och datareplikering.
Initiera flytten
- Anslut till målservern med hjälp av den sekundära slutpunkten
<fog-name>.secondary.database.windows.net
. - Använd Switch-AzSqlDatabaseFailoverGroup för att växla den sekundära servern till den primära med fullständig synkronisering. Antingen lyckas åtgärden, eller så återställs den.
- Verifiera att kommandot har slutförts framgångsrikt genom att använda
nslookup <fog-name>.secondary.database.windows.net
för att säkerställa att DNS CNAME-posten pekar på målregionens IP-adress. Om växelkommandot misslyckas uppdateras inte CNAME.
Ta bort elastiska källpooler
När flytten är klar tar du bort resurserna i källregionen för att undvika onödiga avgifter.
- Ta bort failovergruppen med hjälp av Remove-AzSqlDatabaseFailoverGroup.
- Ta bort varje elastisk källpool på källservern med Remove-AzSqlElasticPool.
- Ta bort källservern med Remove-AzSqlServer.
- Ta bort nyckelvalvet, granskningscontainrar, händelsehubben, Microsoft Entra-klienten och andra beroende resurser för att undvika fakturering för dem.
Nästa steg
Hantera databasen när den har migrerats.