Migreringsöversikt: SQL Server till Azure SQL Managed Instance

GÄLLER FÖR: Azure SQL Managed Instance

Lär dig mer om alternativ och överväganden för att migrera dina SQL Server-databaser till Azure SQL Managed Instance.

Du kan migrera SQL Server databaser som körs lokalt eller på:

  • SQL Server på Azure Virtual Machines.
  • Amazon Web Services (AWS) Elastic Compute Cloud (EC2).
  • AWS Relational Database Service (RDS).
  • Compute Engine in Google Cloud Platform (GCP).
  • Cloud SQL for SQL Server in GCP.

Andra migreringsguider finns i Databasmigrering.

Översikt

Azure SQL Managed Instance är ett rekommenderat målalternativ för SQL Server arbetsbelastningar som kräver en fullständigt hanterad tjänst utan att behöva hantera virtuella datorer eller deras operativsystem. SQL Managed Instance kan du flytta dina lokala program till Azure med minimala program- eller databasändringar. Den erbjuder fullständig isolering av dina instanser med inbyggt stöd för virtuella nätverk.

Se till att granska de SQL Server databasmotorfunktioner som är tillgängliga i Azure SQL Managed Instance för att verifiera supporten för ditt migreringsmål.

Överväganden

De viktigaste faktorerna att tänka på när du utvärderar migreringsalternativ är:

  • Antal servrar och databaser
  • Storlek på databaser
  • Acceptabel stilleståndstid under migreringsprocessen

En av de främsta fördelarna med att migrera dina SQL Server-databaser till SQL Managed Instance är att du kan välja att migrera hela instansen eller bara en delmängd av enskilda databaser. Planera noggrant för att inkludera följande i migreringsprocessen:

  • Alla databaser som måste samplaceras till samma instans
  • Objekt på instansnivå som krävs för ditt program, inklusive inloggningar, autentiseringsuppgifter, SQL agentjobb och operatörer samt utlösare på servernivå

Anteckning

Azure SQL Managed Instance garanterar 99,99 procent tillgänglighet, även i kritiska scenarier. Omkostnader som orsakas av vissa funktioner SQL Hanterad instans kan inte inaktiveras. Mer information finns i blogginlägget Key causes of performance differences between SQL Managed Instance and SQL Server (Viktiga orsaker till prestandaskillnader mellan hanterade instanser och SQL Server).

Välj ett lämpligt mål

Följande allmänna riktlinjer kan hjälpa dig att välja rätt tjänstnivå och egenskaper för SQL Managed Instance för att matcha din prestandabaslinje:

  • Använd baslinjen för CPU-användning för att etablera en hanterad instans som matchar antalet kärnor som din instans SQL Server använder. Det kan vara nödvändigt att skala resurser så att de matchar maskinvarugenerationens egenskaper.
  • Använd baslinjen för minnesanvändning för att välja ett alternativ för virtuella kärnor som passar din minnesallokering.
  • Använd baslinje-I/O-svarstiden för filundersystemet för att välja mellan tjänstnivån Generell användning (svarstid över 5 ms) och Affärskritisk (svarstid mindre än 3 ms).
  • Använd baslinjedataflödet för att förallokera storleken på data och loggfiler för att uppnå förväntade I/O-prestanda.

Du kan välja beräknings- och lagringsresurser under distributionen och sedan ändra dem efteråt med hjälp av Azure Portal, utan att det medför driftstopp för ditt program.

Viktigt

Eventuella avvikelser i kraven för virtuella nätverk för hanterade instanser kan hindra dig från att skapa nya instanser eller använda befintliga. Läs mer om att skapa nyaoch konfigurera    befintliga   nätverk.

Ett annat viktigt övervägande vid valet av måltjänstnivå i Azure SQL Managed Instance (Generell användning jämfört med Affärskritisk) är tillgängligheten för vissa funktioner, till exempel In-Memory OLTP, som endast är tillgängliga på Affärskritisk-nivån.

alternativ SQL Server virtuell dator

Ditt företag kan ha krav som gör SQL Server på Azure Virtual Machines ett lämpligare mål än Azure SQL Managed Instance.

Om något av följande villkor gäller för ditt företag kan du flytta till en SQL Server virtuell dator (VM) i stället:

  • Du behöver direkt åtkomst till operativsystemet eller filsystemet, till exempel för att installera tredjepartsagenter eller anpassade agenter på samma virtuella dator med SQL Server.
  • Du är strikt beroende av funktioner som fortfarande inte stöds, till exempel FileStream/FileTable, PolyBase och transaktioner mellan instanser.
  • Du måste stanna kvar i en specifik version SQL Server (till exempel 2012).
  • Dina beräkningskrav är mycket lägre än en hanterad instans erbjuder (till exempel en vCore) och databaskonsolidering är inte ett acceptabelt alternativ.

Migreringsverktyg

Vi rekommenderar följande migreringsverktyg:

Teknik Beskrivning
Azure SQL Migration-tillägg för Azure Data Studio Azure SQL Migration-tillägget för Azure Data Studio innehåller både SQL Server och migreringsfunktioner i Azure Data Studio. Den stöder migreringar antingen online (för migreringar som kräver minimal stilleståndstid) eller offline (för migreringar där stilleståndstiden kvarstår under migreringen).
Azure Migrate Den här Azure-tjänsten hjälper dig att identifiera och utvärdera SQL dataeskala i stor skala på VMware. Det ger Azure SQL rekommendationer för distribution, måländring och månatliga uppskattningar.
Azure Database Migration Service Den här Azure-tjänsten stöder migrering i offlineläge för program som har råd med stilleståndstid under migreringsprocessen. Till skillnad från den kontinuerliga migreringen i onlineläge kör offline-läge en återställning en gång av en fullständig databassäkerhetskopia från källan till målet.
Intern säkerhetskopiering och återställning SQL Managed Instance stöder återställning av interna SQL Server säkerhetskopior av databaser (.bak-filer). Det är det enklaste migreringsalternativet för kunder som kan tillhandahålla fullständiga databassäkerhetskopior för att Azure Storage.
Log Replay Service Den här molntjänsten är aktiverad för SQL Managed Instance baserat SQL Server av loggöverföringsteknik. Det är ett migreringsalternativ för kunder som kan tillhandahålla fullständiga, differentiella och loggdatabassäkerhetskopior för att Azure Storage. Log Replay Service används för att återställa säkerhetskopierade filer från Azure Blob Storage till SQL Managed Instance.

I följande tabell visas alternativa migreringsverktyg:

Teknik Beskrivning
Transaktionsreplikering Replikera data från källdatabastabeller SQL Server till en SQL-instans genom att tillhandahålla ett migreringsalternativ av typen utgivare-prenumerant samtidigt som transaktionskonsekvensen bibehålls.
Masskopiering BCP-verktyget (Bulk Copy Program) kopierar data från en instans av SQL Server till en datafil. Använd verktyget för att exportera data från källan och importera datafilen till målfilen SQL hanterad instans.

För snabba masskopieringsåtgärder för att flytta data till Azure SQL Managed Instance kan du använda verktyget Smart masskopiering för att maximera överföringshastigheten genom att dra nytta av parallella kopieringsuppgifter.
Guiden Importera export/BACPAC BACPAC är Windows fil med ett .bacpac-tillägg som kapslar in en databass schema och data. Du kan använda BACPAC för att både exportera data från en SQL Server och importera data tillbaka till Azure SQL Managed Instance.
Azure Data Factory I aktiviteten Kopiera i Azure Data Factory data från källdatabaser SQL Server till SQL Managed Instance med hjälp av inbyggda anslutningsappar och en integreringskörning.

Data Factory har stöd för en mängd olika anslutningsappar för att flytta data SQL Server datakällor till SQL Managed Instance.

Jämför migreringsalternativ

Jämför migreringsalternativ för att välja den väg som passar dina affärsbehov.

I följande tabell jämförs de migreringsalternativ som vi rekommenderar:

Migreringsalternativ När du ska använda detta Överväganden
Azure SQL Migration-tillägg för Azure Data Studio – Migrera enkla databaser eller flera databaser i stor skala.
– Kan köras i lägena online (minimal stilleståndstid) och offline (acceptabel stilleståndstid).

Källor som stöds:
– SQL Server (2005 till 2019) lokalt eller virtuell Azure-dator
– AWS EC2
– AWS RDS
– GCP Compute SQL Server VM
– Enkelt att konfigurera och komma igång.
– Kräver installation av lokal integrationskörning för att få åtkomst till lokala SQL Server och säkerhetskopior.
– Innehåller både utvärderings- och migreringsfunktioner.
Azure Database Migration Service – Migrera enkla databaser eller flera databaser i stor skala.
– Kan hantera stilleståndstid under migreringsprocessen.

Källor som stöds:
– SQL Server (2005 till 2019) lokalt eller virtuell Azure-dator
– AWS EC2
– AWS RDS
- GCP Compute SQL Server VM
– Migreringar i stor skala kan automatiseras via PowerShell.
– Tiden för att slutföra migreringen beror på databasens storlek och påverkas av säkerhetskopierings- och återställningstid.
– Det kan krävas tillräckligt med stilleståndstid.
Intern säkerhetskopiering och återställning – Migrera enskilda verksamhetsbaserade programdatabaser.
– Snabb och enkel migrering utan en separat migreringstjänst eller ett separat verktyg.

Källor som stöds:
– SQL Server (2005 till 2019) lokalt eller virtuell Azure-dator
– AWS EC2
– AWS RDS
- GCP Compute SQL Server VM
– Databassäkerhetskopiering använder flera trådar för att optimera dataöverföringen till Azure Blob Storage, men partnerbandbredd och databasstorlek kan påverka överföringshastigheten.
– Nedtiden bör hantera den tid som krävs för att utföra en fullständig säkerhetskopiering och återställning (som är en storlek på dataåtgärden).
Log Replay Service – Migrera enskilda verksamhetsbaserade programdatabaser.
– Mer kontroll krävs för databasmigrering.

Källor som stöds:
– SQL Server (2008 till 2019) lokalt eller virtuell Azure-dator
– AWS EC2
– AWS RDS
- GCP Compute SQL Server VM
– Migreringen innebär att göra fullständiga databassäkerhetskopior på SQL Server och kopiera säkerhetskopior till Azure Blob Storage. Log Replay Service används för att återställa säkerhetskopierade filer från Azure Blob Storage till SQL Managed Instance.
– Databaser som återställs under migreringsprocessen är i återställningsläge och kan inte användas för att läsa eller skriva förrän processen har slutförts.

I följande tabell jämförs de alternativa migreringsalternativen:

Metod eller teknik När du ska använda detta Överväganden
Transaktionsreplikering – Migrera genom att kontinuerligt publicera ändringar från källdatabastabeller till måldatabastabeller SQL hanterad instans.
– Göra fullständiga eller partiella databasmigreringar av valda tabeller (delmängd av en databas).

Källor som stöds:
– SQL Server (2012 till 2019) med vissa begränsningar
– AWS EC2
- GCP Compute SQL Server VM

– Installationen är relativt komplex jämfört med andra migreringsalternativ.
– Ger ett alternativ för kontinuerlig replikering för att migrera data (utan att ta databaserna offline).
– Transaktionsreplikering har begränsningar att tänka på när du ställer in utgivaren på SQL Server instansen. Mer information finns i Begränsningar för publicering av objekt.
– Det finns möjlighet att övervaka replikeringsaktiviteten.
Masskopiering – Göra fullständiga eller partiella datamigrering.
– Kan hantera stilleståndstid.

Källor som stöds:
– SQL Server (2005 till 2019) lokalt eller virtuell Azure-dator
– AWS EC2
– AWS RDS
- GCP Compute SQL Server VM
– Kräver stilleståndstid för att exportera data från källan och importera till målet.
– Filformaten och datatyperna som används vid export eller import måste vara konsekventa med tabellscheman.
Guiden Importera export/BACPAC – Migrera enskilda verksamhetsbaserade programdatabaser.
– Passar för mindre databaser.
Kräver inte en separat migreringstjänst eller ett separat verktyg.

Källor som stöds:
– SQL Server (2005 till 2019) lokalt eller virtuell Azure-dator
– AWS EC2
– AWS RDS
- GCP Compute SQL Server VM

– Kräver stilleståndstid eftersom data måste exporteras vid källan och importeras på målet.
– Filformaten och datatyperna som används i exporten eller importen måste vara konsekventa med tabellscheman för att undvika trunkering eller felmatchningsfel av datatyp.
– Det kan ta betydligt längre tid att exportera en databas med ett stort antal objekt.
Azure Data Factory – Migrera och/eller transformera data från SQL Server databaser.
– Att sammanfoga data från flera datakällor till Azure SQL Managed Instance är vanligtvis för arbetsbelastningar business intelligence (BI).
– Kräver att du skapar pipelines för dataförflyttning Data Factory för att flytta data från källa till mål.
- Kostnaden är en viktig faktor och baseras på faktorer som pipeline-utlösare, aktivitetskörningar och varaktighet för dataförflyttning.

Funktionsam samverkan

Det finns fler överväganden när du migrerar arbetsbelastningar som förlitar sig på andra SQL Server funktioner.

SQL Server Integration Services

Migrera SQL Server SSIS-paket (Integration Services) och projekt i SSISDB till Azure SQL Managed Instance med hjälp av Azure Database Migration Service.

Endast SSIS-paket i SSISDB från och SQL Server 2012 stöds för migrering. Konvertera äldre SSIS-paket före migrering. Mer information finns i självstudien om projektkonvertering.

SQL Server Reporting Services

Du kan migrera SQL Server Reporting Services (SSRS)-rapporter till sidnumrerade rapporter i Power BI. Använd RDL-migreringsverktyget för att förbereda och migrera dina rapporter. Microsoft har utvecklat det här verktyget för att hjälpa kunder att migrera Report Definition Language -rapporter (RDL) från sina SSRS-servrar till Power BI. Du hittar det på GitHub tillsammans med dokumentation för ett komplett migreringsscenario.

SQL Server Analysis Services

SQL Server Analysis Services tabellmodeller från SQL Server 2012 och senare kan migreras till Azure Analysis Services, som är en PaaS-distributionsmodell (plattform som en tjänst) för Analysis Services-tabellmodellen i Azure. Du kan lära dig mer om hur du migrerar lokala modeller till Azure Analysis Services i den här självstudien.

Du kan också överväga att migrera dina lokala Analysis Services tabellmodeller till Power BI Premium med hjälp av de nya XMLA-slutpunkterna för läsning/skrivning.

Hög tillgänglighet

Funktionerna SQL Server always on-redundanskluster och Always On-tillgänglighetsgrupper blir föråldrade på målinstansen SQL instansen. Arkitekturen för hög tillgänglighet är redan inbyggd i tjänstnivåer för både Generell användning (standardtillgänglighetsmodell) och Affärskritisk tjänstnivåer (premiumtillgänglighetsmodell) för SQL Managed Instance. Premium-tillgänglighetsmodellen ger också lässkalning som gör det möjligt att ansluta till en av de sekundära noderna för skrivskyddade ändamål.

Utöver arkitekturen för hög tillgänglighet som ingår i SQL Managed Instance kan du med funktionen automatiska redundansgrupper hantera replikering och redundans för databaser i en hanterad instans till en annan region.

SQL Agentjobb

Använd alternativet offline Azure Database Migration Service för att migrera SQL Agent-jobb. Annars kan du skripta jobben i Transact-SQL (T-SQL) med hjälp av SQL Server Management Studio och sedan manuellt skapa om dem på SQL hanterade instansen.

Viktigt

För närvarande Azure Database Migration Service endast jobb med steg SQL T-SQL undersystem. Jobb med SSIS-paketsteg måste migreras manuellt.

Inloggningar och grupper

Flytta SQL inloggningar från SQL Server till Azure SQL Managed Instance med hjälp av Database Migration Service i offlineläge. Använd fönstret Välj inloggningar i migreringsguiden för att migrera inloggningar till din SQL hanterad instans.

Som standard stöder Azure Database Migration Service migrering endast SQL inloggningar. Du kan dock aktivera migrering av Windows inloggningar genom att:

  • Se till att SQL hanterad instans har Azure Active Directory (Azure AD) läsbehörighet. En användare som har rollen Global administratör kan konfigurera den åtkomsten via Azure Portal.
  • Konfigurera Azure Database Migration Service för att Windows migrering av användar- eller gruppinloggningar. Du ställer in detta via Azure Portal på sidan Konfiguration. När du har aktivera den här inställningen startar du om tjänsten för att ändringarna ska börja gälla.

När du har startat om tjänsten Windows inloggningar för användare eller grupper i listan över inloggningar som är tillgängliga för migrering. För alla Windows-användare eller gruppinloggningar som du migrerar uppmanas du att ange det associerade domännamnet. Tjänstanvändarkonton (konton med domännamnet NT AUTHORITY) och virtuella användarkonton (konton med domännamnet NT SERVICE) stöds inte. Mer information finns i Så här migrerar du Windows användare och grupper i en SQL Server-instans till Azure SQL Managed Instance med hjälp av T-SQL.

Du kan också använda PowerShell-verktyget som utformats särskilt av Microsofts datamigreringsarkitekter. Verktyget använder PowerShell för att skapa ett T-SQL-skript för att skapa inloggningar på nytt och välja databasanvändare från källan till målet.

PowerShell-verktyget mappar automatiskt Windows Server Active Directory-konton till Azure AD-konton och det kan göra en UPN-sökning för varje inloggning mot Active Directory-källinstansen. Verktyget skriptar anpassade server- och databasroller, tillsammans med rollmedlemskap och användarbehörigheter. Inneslutna databaser stöds inte ännu och endast en delmängd av SQL Server behörigheter skriptas.

Kryptering

När du migrerar databaser som skyddas av transparent datakrypteringtill en hanterad instans med hjälp av det inbyggda återställningsalternativet migrerar du motsvarande certifikat från källinstansen SQL Server till den hanterade målinstansen SQL innan databasen   återställs.

Systemdatabaser

Återställning av systemdatabaser stöds inte. Om du vill migrera objekt på instansnivå (som lagras i huvuddatabaserna och msdb-databaserna) skriptar du dem med hjälp av T-SQL och skapar dem sedan på nytt på den hanterade målinstansen.

In-Memory OLTP (minnesoptimerade tabeller)

SQL Server ger en In-Memory OLTP-funktion. Den tillåter användning av minnesoptimerade tabeller, minnesoptimerade tabelltyper och inbyggda kompilerade SQL-moduler för att köra arbetsbelastningar som har krav på högt dataflöde och låg latens för transaktionsbearbetning.

Viktigt

In-Memory OLTP stöds endast på Affärskritisk i Azure SQL Managed Instance. Det stöds inte på den Generell användning nivån.

Om du har minnesoptimerade tabeller eller minnesoptimerade tabelltyper i din lokala SQL Server-instans och vill migrera till Azure SQL Managed Instance bör du antingen:

  • Välj Affärskritisk för målinstansen som SQL har stöd för In-Memory OLTP.

  • Om du vill migrera till Generell användning-nivån i Azure SQL Managed Instance tar du bort minnesoptimerade tabeller, minnesoptimerade tabelltyper och inbyggda kompilerade SQL-moduler som interagerar med minnesoptimerade objekt innan du migrerar dina databaser. Du kan använda följande T-SQL för att identifiera alla objekt som måste tas bort före migreringen till Generell användning-nivån:

    SELECT * FROM sys.tables WHERE is_memory_optimized=1
    SELECT * FROM sys.table_types WHERE is_memory_optimized=1
    SELECT * FROM sys.sql_modules WHERE uses_native_compilation=1
    

Mer information om minnesbaserade tekniker finns i Optimera prestanda med hjälp av minnesbaserade tekniker i Azure SQL Database och Azure SQL Managed Instance.

Avancerade funktioner

Se till att dra nytta av de avancerade molnbaserade funktionerna i SQL Managed Instance. Du behöver till exempel inte bekymra dig om att hantera säkerhetskopior eftersom tjänsten gör det åt dig. Du kan återställa till valfri tidpunkt inom kvarhållningsperioden. Dessutom behöver du inte bekymra dig om att konfigurera hög tillgänglighet eftersom hög tillgänglighet är inbyggd i.

För att stärka säkerheten bör du överväga att använda Azure AD-autentisering, granskning,hotidentifiering, säkerhet på radnivå och dynamisk datamaskering.

Förutom avancerade hanterings- och säkerhetsfunktioner innehåller SQL Managed Instance avancerade verktyg som kan hjälpa dig att övervaka och finjustera din arbetsbelastning. Med Azure SQL Analytics kan du övervaka en stor uppsättning hanterade instanser på ett centraliserat sätt.  Automatisk justering   i hanterade instanser övervakar kontinuerligt prestanda för din SQL plankörning och åtgärdar automatiskt identifierade prestandaproblem.

Vissa funktioner är bara tillgängliga när databasens kompatibilitetsnivå har ändrats till den senaste kompatibilitetsnivån (150).

Migreringstillgångar

Mer hjälp finns i följande resurser som har utvecklats för verkliga migreringsprojekt.

Tillgång Description
Utvärderingsmodell och verktyg för dataarbetsbelastning Det här verktyget innehåller föreslagna målplattformar med "bästa passning", molnberedskap och en åtgärdsnivå för program/databas för en arbetsbelastning. Den erbjuder enkel beräkning med ett klick och rapportgenerering som hjälper till att påskynda stora egendomsutvärderingar genom att tillhandahålla en automatiserad och enhetlig beslutsprocess för målplattformar.
Verktyg för att flytta lokalt SQL Server inloggningar till Azure SQL Managed Instance Ett PowerShell-skript kan skapa ett T-SQL-kommandoskript för att skapa inloggningar igen och välja databasanvändare från lokala SQL Server till Azure SQL Managed Instance. Verktyget tillåter automatisk mappning av Windows Server Active Directory-konton till Azure AD-konton, tillsammans med om du vill migrera SQL Server interna inloggningar.
Automatisering av datainsamling med Hjälp av Logman Du kan använda Logman-verktyget för att samla in Perfmon-data (för att förstå baslinjeprestanda) och få rekommendationer för migreringsmål. Det här verktyget använder logman.exe för att skapa kommandot som skapar, startar, stoppar och tar bort prestandaräknare som angetts på en SQL Server instans.

Data SQL engineering-teamet utvecklade dessa resurser. Teamets huvudstadga är att avblockera och påskynda komplex modernisering för dataplattformsmigreringsprojekt till Microsofts Azure-dataplattform.

Nästa steg