Guide för att migrera SQL Server till Azure SQL Database. Steg-för-steg, verktyg, kostnader och best practices för lyckad molnmigrering.


Din SQL Server har tjänat företaget väl i åratal. Nu sitter du med en serverpark som kostar pengar att underhålla, ett driftteam som hellre fokusera på strategiska projekt, och en CFO som vill se siffror på molnbesparingar. Samtidigt vet du att en databasmigrering inte är något man gör på en eftermiddag.

Varför migrera SQL Server till Azure SQL Database?

Azure SQL Database är inte bara "SQL Server i molnet" – det är en fullständigt hanterad PaaS-tjänst som eliminera hela kategorier av operativa bekymmer. Microsoft håller kärnan uppdaterad, hanterar säkerhetspatchar och ser till att databasen alltid kör på den senaste stabila SQL Server-versionen (just nu SQL Server 2022-underliggande motor).

De konkreta fördelarna jag sett i enterprise-implementationer:

  • Infrastrukturkostnader minskar med 40–60 % över en treårsperiod jämfört med on-prem, enligt Microsofts egen TCO-kalkylator och min erfarenhet från ett drygt dussin migreringsprojekt.
  • Inga planerade underhållsfönster förpatchning av operativsystem eller SQL Server – Microsoft hanterar detta med transparent maintenance windows.
  • Inbyggd hög tillgänglighet med 99,995 % SLA för Business Critical-tier (geo-replikering inkluderad).
  • Skalbarhet på begäran – du kan skala compute-ressurser på sekunder utan downtime genom att använda vCore-modellen.
  • Avancerade säkerhetsfunktioner som Always Encrypted, Row-Level Security och Threat Detection utan extra licenskostnad.

Men låt mig vara ärlig: Azure SQL Database passar inte alla arbetsbelastningar. Om du har extremt tung transaktionsbelastning (flera hundra tusen transaktioner per sekund), komplexa CLR-procedurer, eller applikationer som kräver filstream/FileTable, då behöver du nog överväga Azure SQL Managed Instance eller hålla kvar lokalt.

Förberedelser innan du påbörjar migreringen

Ingen migrerar ett hus utan att först riva ner väggar och kontrollera grunden. För databasmigrering innebär detta en ordentlig kompatibilitetskontroll.

Steg 1: Analysera din nuvarande databas

Börja med att köra Data Migration Assistant (DMA) – ett gratis verktyg från Microsoft. Detta hittar du på aka.ms/dma. DMA crawler igenom din SQL Server och identifierar:

  • Blockerande problem: Features som inte stöds i Azure SQL Database (t.ex. SQL Server Agent för vissa jobbtyper, cross-database queries, linked servers, Service Broker)
  • Beteendeförändringar: Skillnader i syntax eller funktionalitet som kan påverka din applikation
  • Rekommenderade förbättringar: Nya funktioner i Azure SQL Database som kan förbättra prestanda

Kör DMA mot alla produktionsdatabaser och samla resultaten. Jag brukar sätta upp en Excel-matris där varje databas får en riskpoäng baserat på antal blockerande issues. Databaser med hög risk migreras sist, eller så väljer kunden Managed Instance istället.

Steg 2: Välj rätt tjänstnivå och beräkningsmodell

Azure SQL Database erbjuder två inköpsmodeller:

vCore-modellen (rekommenderad):

  • General Purpose: För standardarbetsbelastningar, 99,99 % SLA, lokal redundans. Pris från ca 700 SEK/månad för en 2-vCore konfiguration med 1 månads reservation.
  • Business Critical: För produktionsmiljöer som kräver låg latens och hög tillgänglighet. Inkluderar read-scale och geo-replikering. Pris från ca 2 800 SEK/månad.
  • Hyperscale: För mycket stora databaser (upp till 100 TB) med elastisk skalning. Börjar på ca 4 500 SEK/månad.

DTU-modellen: Enklare men mindre flexibel. S3 (100 DTU) börjar runt 1 200 SEK/månad. Jag rekommenderar vCore eftersom det ger bättre kostnadskontroll och prestandapredikterbarhet.

Steg 3: Förbered nätverket

Om du kör en hybridarkitektur eller vill ha privata anslutningar till Azure:

  • Virtual Network-peering för direkt anslutning från ditt VNet
  • ExpressRoute om du har krav på låg latens och dedikerad bandbredd (kostnad från ca 3 000 SEK/månad för 100 Mbps)
  • Punkt-till-plats VPN för utvecklare som behöver åtkomst under migreringen

För de flesta SMB-kunder räcker det med att konfigurera Azure SQL-serverns brandväggsregler och eventuellt använda en Point-to-Site VPN.

Migreringsmetoder – vilken ska du välja?

Azure Database Migration Service (DMS)

Bäst för: Produktionsdatabaser som kräver minimal downtime och automatiserad validering.

DMS är Microsofts flagskeppsverktyg för migrering och stödjer både online-migrering (med kontinuerlig replikering) och offline-migrering. Prissättningen är:

  • Standard-tier: Ca 1 050 SEK/månad (grundavgift) + 280 SEK per vCore och månad
  • Premium-tier: Ca 4 200 SEK/månad + 560 SEK per vCore (bättre prestanda för stora databaser)

Fördelar jag uppskattar:

  • Automatisk validierung av migreringsstatus
  • Stöd för schema-migrering med Generate Scripts
  • Cutover-validering innan final switch

Nackdelar:

  • Kräver en Recovery Services Vault för backup av källan
  • Initial konfiguration kan vara knölig (IAM-behörigheter, VNet-integrering)

Data Migration Assistant (Offline-migrering)

Bäst för: Mindre databaser (< 250 GB) där viss downtime är acceptabel.

DMA är gratis men kräver manuell hantering. Processen:

  1. Exportera schema från källan (Generate Scripts i SSMS)
  2. Köra scriptet mot Azure SQL Database
  3. Exportera data med BCP eller SQLPackage
  4. Importera till molnet
  5. Validera och testa

Tidsåtgång: 2–8 timmar beroende på datastorlek och nätverksbandbredd.

Azure Migrate

Bäst för: Storskaliga migreringar av hela servermiljöer där databasen är en del av en större lift-and-shift.

Azure Migrate fokuserar på infrastruktur-assessment och replikering, men kan integreras med DMS för databasmigrering.

Steg-för-steg: Migrering med DMS

Här är processen jag brukar följa för medelstora produktionsdatabaser (50–500 GB):

Vecka 1: Förberedelse och testmigrering

  1. Skapa en Azure SQL Database-server i target-region (Sweden Central eller Sweden South).
  2. Konfigurera brandväggsregler – lägg till DMS-agentens IP-adresser.
  3. Skapa en Recovery Services Vault i samma region.
  4. Skapa ett DMS-projekt med "Online" som migreringstyp.
  5. Konfigurera källan (on-prem SQL Server) med nödvändiga behörigheter (db_ddladmin, db_datawriter, db_datareader).
  6. Kör en testmigrering under lugna timmar. Logga prestanda och eventuella fel.

Vecka 2: Förproduktionsmigrering

  1. Skapa en staging-miljö i Azure med kopiera av produktionsdata.
  2. Köra applikationstester mot staging-databasen.
  3. Dokumentera connection strings och applikationskonfigurationer som behöver uppdateras.
  4. Träna supportteamet på Azure SQL-fliken i Azure Portal och Query Performance Insight.

Vecka 3–4: Produktionsmigrering

  1. Schemalägg maintenance window (helst fredag kväll eller helg).
  2. Stoppa applikationstjänster och ta en final backup av källan.
  3. Starta DMS-cutover i Azure Portal.
  4. Övervaka migreringsstatus och validera radantal.
  5. Uppdatera connection strings i applikationskonfigurationen.
  6. Starta applikationstjänster och genomför smoke-tester.
  7. Övervaka feloggar och Application Insights under 48 timmar.

Kostnadshantering och FinOps-överväganden

Azure SQL Database kan bli dyrt om du inte hanterar resurser aktivt. Här är mina FinOps-rekommendationer:

Reserverade instanser: För produktionsservrar som kör 24/7, köp 1- eller 3-års reservationer. Du sparar upp till 33 % jämfört med betala-per-användning. För Business Critical 8 vCore med 3-års reservation: ca 210 000 SEK totalt istället för 315 000 SEK.

Elastiska pooler: Om du har flera mindre databaser (< 5 GB vardera) kan elastiska pooler minska kostnaden med 20–40 %. Priset börjar på ca 350 SEK/månad för 5 eDTU.

Autopausing för Dev/Test: Om du använder Azure SQL för utveckling kan du aktivera autopause och spara upp till 75 % av beräkningskostnaden under natt och helg.

Azure Hybrid Benefit: Har du redan SQL Server Enterprise-avtal med Software Assurance? Varje licens ger dig 1 vCore i Azure SQL Database utan extra licenskostnad. Detta är ofta nyckeln till att göra business case-positivt.

Vanliga fallgropar och hur du undviker dem

Problem 1: Kompatibilitetsöverraskningar
Den vanligaste orsaken till förseningar är att man inte hittat alla blockerande features i kompatibilitetskontrollen. Lösning: Kör DMA mot alla databaser, inklusive msdb och andra systemdatabaser om du använder tjänstscheman.

Problem 2: Prestandaregression
Azure SQL Database har annorlunda resurshantering än on-prem. Query Store är din bästa vän – aktivera den direkt vid migrering och använd Automatic Tuning för att kontinuerligt optimera.

Problem 3: Connection string-haveri
Jag har sett produktionsstopp på timmar bara för att connection string inte uppdaterats korrekt. Lösning: Använd Azure Key Vault för att hantera secrets och ha en rollback-plan redo.

Problem 4: Säkerhetsproblem
Migrerar du känslig data? Då behöver du en säkerhetsarkitektur innan migrering, inte efter. Konfigurera Always Encrypted med Azure Key Vault-integration, aktivera Advanced Threat Protection, och sätt upp Row-Level Security för att begränsa åtkomst baserat på användarroll.

Post-migrering: De första 30 dagarna

Migreringen är klar – men arbetet har bara börjat. Här är min checklista:

  1. Validera alla integrationer: Backend-appar, reporting-verktyg, ETL-jobb, och tredjepartssystem som ansluter till databasen.
  2. Jämför prestanda: Kör samma benchmark som du körde före migreringen. Använd Query Performance Insight i Azure Portal för att identifiera regressioner.
  3. Aktivera övervakning: Konfigurera Azure Monitor-arbetsytor, skapa alerts för CPU > 80 %, DTU > 90 %, och failed connections. Application Insights för applikationsloggning.
  4. Testa återställning: Skapa en-point-in-time restore till en ny server och verifiera att data är intakt. Gör detta minst en gång per kvartal.
  5. Dokumentera och överlämna: Uppdatera arkitekturdiagram, driftshandböcker, och se till att molnteamet har ägandeskap.

Slutsats: Är Azure SQL Database rätt val?

För de flesta organisationer är svaret ja – särskilt om du har SQL Server 2012 eller senare, arbetsbelastningar som passar PaaS-modellen, och ett team som kan hantera molnbaserad databasadministration.

Azure SQL Database ger dig automatiserad patchning, inbyggd hög tillgänglighet, och elastisk skalning utan att du behöver hantera servrar. Med rätt förberedelser, realistisk tidsplanering, och en erfaren partner kan du genomföra migreringen på 4–8 veckor med minimal påverkan på verksamheten.

Vill du ha hjälp med att planera din migrering? På Ciro Cloud erbjuder vi workshops för att utvärdera databasmognad och skapa en skräddarsydd migreringsstrategi. Kontakta oss för en kostnadsfri bedömning.

Weekly cloud insights — free

Practical guides on cloud costs, security and strategy. No spam, ever.

Comments

Leave a comment