SQL Server-databasmigrering till Azure SQL Database

GÄLLER FÖR: Azure SQL Database

I den här artikeln får du lära dig om de primära metoderna för att migrera en SQL Server 2005-databas eller senare till Azure SQL Database. Information om hur du migrerar till Azure SQL Managed Instance finns i Migrera en SQL Server-instans till Azure SQL Managed Instance. Vägledning om hur du väljer migreringsalternativ och verktyg för att migrera till Azure SQL finns i Migrera till Azure SQL

Migrera till en enkel databas eller en pooldatabas

Det finns två primära metoder för att migrera en SQL Server 2005-databas eller senare till Azure SQL Database. Den första metoden är enklare, men kräver viss till omfattande stilleståndstid under migreringen. Den andra metoden är mer komplicerad, men kräver mycket kortare stilleståndstid under migreringen.

I båda fallen måste du se till att källdatabasen är kompatibel med den Azure SQL Database med hjälp av Data Migration Assistant (DMA). SQL Database närmar sig funktionsparitet med SQL Server, förutom problem som rör åtgärder på servernivå och mellan databaser. Databaser och program som förlitar sig på funktioner som delvis eller inte stöds behöver viss omkonstruktion för att åtgärda dessa inkompatibiliteter innan SQL Server-databasen kan migreras.

Anteckning

För att migrera en icke-SQL Server-databas, inklusive Microsoft Access, Sybase, MySQL Oracle och DB2 till Azure SQL Database, se SQL Server-migreringsassistent.

Metod 1: Migrering med stilleståndstid under migreringen

Använd den här metoden för att migrera till en enkel databas eller en pooldatabas om du har råd med avbrott eller om du utför en testmigrering av en produktionsdatabas för senare migrering. En självstudiekurs finns i Migrera en SQL Server databas.

Följande lista innehåller det allmänna arbetsflödet för en SQL Server migrering av en enkel databas eller en pooldatabas med den här metoden. Information om migrering till SQL Managed Instance finns i guiden SQL Server till Azure SQL Managed Instance.

VSSSDT-migreringsdiagram

  1. Utvärdera databasens kompatibilitet med hjälp av den senaste versionen av Data Migration Assistant (DMA).
  2. Förbered nödvändiga korrigeringar som Transact-SQL-skript.
  3. Skapa en transaktionellt konsekvent kopia av källdatabasen som migreras eller stoppa nya transaktioner från att ske i källdatabasen under migreringen. Metoder för att åstadkomma detta senare alternativ är att inaktivera klientanslutningen eller skapa en ögonblicksbild av databasen. Efter migreringen kan du använda transaktionsreplikering för att uppdatera de migrerade databaserna med ändringar som inträffar efter startpunkten för migreringen. Se Migrera med transaktionsmigrering.
  4. Distribuera Transact-SQL-skripten för att tillämpa korrigeringar på databaskopian.
  5. Migrera databaskopian till en ny databas i Azure SQL Database med datafilen Migration Assistant.

Anteckning

I stället för att använda DMA kan du också använda en BACPAC-fil. Se Importera en BACPAC-fil till en ny databas i Azure SQL Database.

Optimera prestanda för dataöverföring under migreringen

Följande lista innehåller rekommendationer för bästa prestanda under importen.

  • Välj den högsta tjänstnivån och beräkningsstorleken som din budget tillåter för att maximera överföringsprestandan. Du kan spara pengar genom att skala ned när migreringen är klar.
  • Minimera avståndet mellan BACPAC-filen och måldatacentret.
  • Inaktivera autostatistik under migrering
  • Partitionstabeller och index
  • Ta bort indexerade vyer och återskapa dem när de är klara
  • Ta bort historiska data som sällan efterfrågas till en annan databas och migrera dessa historiska data till en separat databas i Azure SQL Database. Du kan sedan söka i historiska data med elastiska frågor.

Optimera prestanda när migreringen är klar

Uppdatera statistik med fullständig sökning när migreringen har slutförts.

Metod 2: Använd transaktionsreplikering

När du inte har råd att ta SQL Server databasen från produktion medan migreringen sker kan du använda SQL Server transaktionsreplikering som migreringslösning. För att kunna använda den här metoden måste källdatabasen uppfylla kraven för transaktionsreplikering och vara kompatibel med Azure SQL Database. Information om hur SQL replikering med Always On finns i Konfigurera replikering för Always On-tillgänglighetsgrupper (SQL Server).

Om du vill använda den här lösningen konfigurerar du databasen i Azure SQL Database som prenumerant på den SQL Server instans som du vill migrera. Distributören av transaktionsreplikeringen synkroniserar de data som ska synkroniseras från databasen (utgivaren) medan nya transaktioner fortsätter att göras.

Med transaktionsreplikering visas alla ändringar av dina data eller scheman i databasen i Azure SQL Database. När synkroniseringen är klar och du är redo att migrera ändrar du anslutningssträngen för dina program så att de pekar på din databas. När transaktionsreplikeringen tömt alla ändringar som finns kvar i källdatabasen och alla program pekar på Azure DB kan du avinstallera transaktionsreplikeringen. Din databas i Azure SQL Database är nu ditt produktionssystem.

SeedCloudTR-diagram

Tips

Du kan också använda transaktionsreplikering till att migrera en del av din källdatabas. Den publikation som du replikerar till Azure SQL Database kan begränsas till en del av tabellerna i databasen som replikeras. Du kan begränsa data till en del av raderna och/eller en del av kolumnerna för varje tabell som replikeras.

Migrera till SQL Database med arbetsflödet för transaktionsreplikering

Viktigt

Använd den senaste versionen av SQL Server Management Studio vara synkroniserad med uppdateringar till Azure och SQL Database. Äldre versioner av SQL Server Management Studio kan inte konfigurera SQL Database som en prenumerant. Uppdatera SQL Server Management Studio.

  1. Konfigurera distribution

  2. Skapa publikation

  3. Skapa en prenumeration

Tips och skillnader vid migrering till SQL Database

  • Använda en lokal distributör
    • Om du gör det påverkas serverns prestanda.
    • Om denna påverkan inte är acceptabel kan du använda en annan server men det innebär en mer komplicerad hantering och administration.
  • När du väljer en mapp för ögonblicksbilder måste du se till att mappen är tillräckligt stor för att innehålla en BCP för varje tabell som du vill replikera.
  • När du skapar en ögonblicksbild låses de associerade tabellerna tills den är klar, så schemalägg ögonblicksbilden på rätt sätt.
  • Endast push-prenumerationer stöds i Azure SQL Database. Du kan bara lägga till prenumeranter från källdatabasen.

Åtgärda kompatibilitetsproblem vid databasmigrering

Det finns en mängd olika kompatibilitetsproblem som kan uppstå, beroende på både versionen av SQL Server i källdatabasen och komplexiteten i databasen som du migrerar. Äldre versioner av SQL Server har fler kompatibilitetsproblem. Använd följande resurser, utöver en riktad Internetsökning med hjälp av sökmotor:

Förutom att söka på Internet och använda dessa resurser kan du använda Microsoft Q&A-frågesidan för Azure SQL Database eller StackOverflow.

Viktigt

Med Azure SQL Managed Instance kan du migrera en befintlig SQL Server instans och dess databaser med minimala eller inga kompatibilitetsproblem. Se Vad är en hanterad instans?

Nästa steg