Dela via


Självstudie: Migrera SQL Server till Azure SQL Database med DMS (klassisk)

Viktigt!

Azure Database Migration Service (klassisk) – SQL-scenarier är på en utfasningssökväg. Sedan den 1 augusti 2023 kan du inte längre skapa nya Database Migration Service-resurser (klassiska) för SQL Server-scenarier från Azure-portalen. Tjänsten tas ur bruk den 15 mars 2026 för alla kunder. För sömlösa migreringar från flera databaskällor till Azure SQL Targets rekommenderar Microsoft att du använder den senaste versionen av Azure Database Migration Service, som är tillgänglig som Azure SQL Migration , ett tillägg i Azure Data Studio eller via Azure Portal eller via Azure PowerShell och Azure CLI. Mer information finns i Meddelande om tillbakadragning: Database Migration Service (klassisk).

Kommentar

I den här självstudien används en äldre version av Azure Database Migration Service. Om du vill ha bättre funktioner och support kan du överväga att migrera till Azure SQL Database med hjälp av Azure SQL-migreringstillägget för Azure Data Studio.

Om du vill jämföra funktioner mellan versioner läser du jämför versioner.

Du kan använda Azure Database Migration Service för att migrera databaserna från en SQL Server-instans till Azure SQL Database. I den här självstudien migrerar du databasen AdventureWorks2016 som återställts till en lokal instans av SQL Server 2016 (eller senare) till en enkel databas eller pooldatabas i Azure SQL Database med hjälp av Azure Database Migration Service.

Du lär dig hur du:

  • Utvärdera och utvärdera din lokala databas för eventuella blockeringsproblem med hjälp av Data Migration Assistant.
  • Använd Data Migration Assistant för att migrera databasexempelschemat.
  • Registrera Azure DataMigration-resursprovidern.
  • Skapa en instans av Azure Database Migration Service.
  • Skapa ett migreringsprojekt med hjälp av Azure Database Migration Service.
  • Köra migreringen.
  • Övervaka migreringen.

Förutsättningar

För att slutföra den här kursen behöver du:

  • Ladda ned och installera SQL Server 2016 eller senare.

  • Aktivera TCP/IP-protokollet, som är inaktiverat som standard under SQL Server Express-installation, genom att följa instruktionerna i artikeln om att aktivera eller inaktivera ett servernätverksprotokoll.

  • Återställ Databasen AdventureWorks2016 till SQL Server-instansen.

  • Skapa en databas i Azure SQL Database, vilket du gör genom att följa informationen i artikeln Skapa en databas i Azure SQL Database med hjälp av Azure-portalen. För den här självstudiekursen antas namnet på Azure SQL Database vara AdventureWorksAzure men du kan ange ett valfritt namn.

    Kommentar

    Om du använder SQL Server Integration Services (SSIS) och vill migrera katalogdatabasen för dina SSIS-projekt/-paket (SSISDB) från SQL Server till Azure SQL Database skapas och hanteras målet SSISDB och automatiskt åt dig när du etablerar SSIS i Azure Data Factory (ADF). Mer information om att migrera SSIS-paket finns i artikeln Migrate SQL Server Integration Services packages to Azure (Migrera SQL Server Integration Services-paket till Azure).

  • Ladda ned och installera den senaste versionen av Data Migration Assistant.

  • Skapa ett virtuellt Azure-nätverk för Azure Database Migration Service genom att använda Azure Resource Manager-distributionsmodellen, som ger plats-till-plats-anslutning för dina lokala källservrar genom att använda antingen ExpressRoute eller VPN. Mer information om hur du skapar ett virtuellt nätverk finns i dokumentationen för virtuellt nätverk, och särskilt snabbstartsartiklarna med stegvis information.

    Kommentar

    Om du använder ExpressRoute med nätverkspeering till Microsoft under konfigurationen av virtuella nätverk lägger du till följande tjänstslutpunkter i det undernät där tjänsten ska etableras:

    • Måldatabasslutpunkt (till exempel SQL-slutpunkt, Azure Cosmos DB-slutpunkt och så vidare)
    • Lagringsslutpunkt
    • Service Bus-slutpunkt

    Den här konfigurationen är nödvändig eftersom Azure Database Migration Service saknar Internetanslutning.

    Om du inte har plats-till-plats-anslutning mellan det lokala nätverket och Azure eller om det finns begränsad bandbredd för plats-till-plats-anslutning kan du överväga att använda Azure Database Migration Service i hybridläge (förhandsversion). Hybridläget utnyttjar en lokal migreringsarbetare tillsammans med en instans av Azure Database Migration Service som körs i molnet. Information om hur du skapar en instans av Azure Database Migration Service i hybridläge finns i artikeln Skapa en instans av Azure Database Migration Service i hybridläge med hjälp av Azure-portalen.

  • Se till att dina utgående säkerhetsregler för nätverkssäkerhetsgruppen inte blockerar utgående port 443 i ServiceTag för ServiceBus, Storage och AzureMonitor. Mer information om NSG-trafikfiltrering för virtuella Azure-nätverk finns i artikeln Filtrera nätverkstrafik med nätverkssäkerhetsgrupper.

  • Konfigurera din Windows-brandvägg för databasmotoråtkomst.

  • Öppna brandväggen i Windows för att tillåta Azure Database Migration Service att komma åt källans SQL Server, som som standard är TCP-port 1433. Om standardinstansen lyssnar på någon annan port lägger du till den i brandväggen.

  • Om du kör flera namngivna SQL Server-instanser med dynamiska portar kanske du vill aktivera SQL Browser Service och tillåta åtkomst till UDP-port 1434 via brandväggarna så att Azure Database Migration Service kan ansluta till en namngiven instans på källservern.

  • När du använder en brandväggsinstallation framför dina källdatabaser kan du behöva lägga till brandväggsregler så att Azure Database Migration Service kan komma åt källdatabaserna för migrering.

  • Skapa en IP-brandväggsregel på servernivå för Azure SQL Database för att ge Azure Database Migration Service åtkomst till måldatabaserna. Ange undernätsintervallet för det virtuella nätverk som används för Azure Database Migration Service.

  • Kontrollera att autentiseringsuppgifterna som används för att ansluta till SQL Server-källinstansen har CONTROL SERVER-behörigheter.

  • Se till att de autentiseringsuppgifter som används för att ansluta till Azure SQL Database-målinstansen har behörigheten CONTROL DATABASE på måldatabaserna.

    Viktigt!

    För att skapa en instans av Azure Database Migration Service krävs åtkomst till inställningar för virtuella nätverk som normalt inte finns i samma resursgrupp. Därför kräver användaren som skapar en instans av DMS behörighet på prenumerationsnivå. Kör följande skript för att skapa de roller som krävs, som du kan tilldela efter behov:

    
    $readerActions = `
    "Microsoft.Network/networkInterfaces/ipConfigurations/read", `
    "Microsoft.DataMigration/*/read", `
    "Microsoft.Resources/subscriptions/resourceGroups/read"
    
    $writerActions = `
    "Microsoft.DataMigration/services/*/write", `
    "Microsoft.DataMigration/services/*/delete", `
    "Microsoft.DataMigration/services/*/action", `
    "Microsoft.Network/virtualNetworks/subnets/join/action", `
    "Microsoft.Network/virtualNetworks/write", `
    "Microsoft.Network/virtualNetworks/read", `
    "Microsoft.Resources/deployments/validate/action", `
    "Microsoft.Resources/deployments/*/read", `
    "Microsoft.Resources/deployments/*/write"
    
    $writerActions += $readerActions
    
    # TODO: replace with actual subscription IDs
    $subScopes = ,"/subscriptions/00000000-0000-0000-0000-000000000000/","/subscriptions/11111111-1111-1111-1111-111111111111/"
    
    function New-DmsReaderRole() {
    $aRole = [Microsoft.Azure.Commands.Resources.Models.Authorization.PSRoleDefinition]::new()
    $aRole.Name = "Azure Database Migration Reader"
    $aRole.Description = "Lets you perform read only actions on DMS service/project/tasks."
    $aRole.IsCustom = $true
    $aRole.Actions = $readerActions
    $aRole.NotActions = @()
    
    $aRole.AssignableScopes = $subScopes
    #Create the role
    New-AzRoleDefinition -Role $aRole
    }
    
    function New-DmsContributorRole() {
    $aRole = [Microsoft.Azure.Commands.Resources.Models.Authorization.PSRoleDefinition]::new()
    $aRole.Name = "Azure Database Migration Contributor"
    $aRole.Description = "Lets you perform CRUD actions on DMS service/project/tasks."
    $aRole.IsCustom = $true
    $aRole.Actions = $writerActions
    $aRole.NotActions = @()
    
      $aRole.AssignableScopes = $subScopes
    #Create the role
    New-AzRoleDefinition -Role $aRole
    }
    
    function Update-DmsReaderRole() {
    $aRole = Get-AzRoleDefinition "Azure Database Migration Reader"
    $aRole.Actions = $readerActions
    $aRole.NotActions = @()
    Set-AzRoleDefinition -Role $aRole
    }
    
    function Update-DmsConributorRole() {
    $aRole = Get-AzRoleDefinition "Azure Database Migration Contributor"
    $aRole.Actions = $writerActions
    $aRole.NotActions = @()
    Set-AzRoleDefinition -Role $aRole
    }
    
    # Invoke above functions
    New-DmsReaderRole
    New-DmsContributorRole
    Update-DmsReaderRole
    Update-DmsConributorRole
    

Utvärdera din lokala databas

Innan du kan migrera data från en SQL Server-instans till en enskild databas eller pooldatabas i Azure SQL Database måste du utvärdera SQL Server-databasen för eventuella blockeringsproblem som kan förhindra migrering. Följ stegen som beskrivs i artikeln Utför en SQL Server-migreringsutvärdering med hjälp av Data Migration Assistant för att slutföra den lokala databasutvärderingen. En sammanfattning av de steg som krävs följer:

  1. I Data Migration Assistant väljer du ikonen Nytt (+) och väljer sedan Utvärdering projekttyp.

  2. Ange ett projektnamn. I listrutan Utvärderingstyp väljer du Databasmotor. I textrutan Källservertyp väljer du SQL Server. I textrutan Målservertyp väljer du Azure SQL Database och sedan Skapa för att skapa projektet.

    När du utvärderar SQL Server-källdatabasen som ska migreras till en enkel databas eller pooldatabas i Azure SQL Database, kan du välja en eller båda av följande utvärderingsrapporttyper:

    • Kontrollera databaskompatibilitet
    • Kontrollera funktionsparitet

    Båda rapporttyperna väljs som standard.

  3. I Data Migration Assistant, på sidan Alternativ väljer du Näsa.

  4. På sidan Välj källor i dialogrutan Anslut till en server, anger du anslutningsinformationen till SQL Server och väljer sedan Anslut.

  5. I dialogrutan Lägg till källor väljer du AdventureWorks2016, väljer Lägg till och sedan Starta utvärdering.

    Kommentar

    Om du använder SSIS så har DMA för närvarande inget stöd för utvärdering av SSISDB-källan. Dock utvärderas/verifieras SSIS-projekt/-paket när de omdistribueras till SSISDB-målet med Azure SQL Database. Mer information om att migrera SSIS-paket finns i artikeln Migrate SQL Server Integration Services packages to Azure (Migrera SQL Server Integration Services-paket till Azure).

    När utvärderingen är klar visas resultatet enligt följande bild:

    Utvärdera datamigrering

    För databaser i Azure SQL Database identifierar utvärderingarna problem med funktionsparitet och migreringsblockering för distribution till en enskild databas eller pooldatabas.

    • Kategorin SQL Server-funktionsparitet innehåller en omfattande uppsättning rekommendationer, alternativa metoder tillgängliga i Azure och minimeringsåtgärder för att hjälpa dig att planera insatsen för dina migreringsprojekt.
    • Kategorin Kompatibilitetsproblem identifierar delvis funktioner som stöds eller som inte stöds och som återspeglar kompatibilitetsproblem som kan blockera migrering av SQL Server-databaser till Azure SQL Database. Det ges även rekommendationer, så att du kan hantera problemen.
  6. Granska utvärderingsresultaten för blockeringsproblem för migreringen och funktionsparitetsproblem genom att välja de specifika alternativen.

Migrera exempelschemat

När du är nöjd med utvärderingen och finner att den valda databasen är en giltig kandidat för migrering till en enkel databas eller en pooldatabas i Azure SQL Database använder du DMA för att migrera schemat till Azure SQL Database.

Kommentar

Innan du skapar ett migreringsprojekt i Data Migration Assistant måste du se till att du redan har etablerat en databas i Azure enligt kraven.

Viktigt!

Om du använder SSIS stöder DMA för närvarande inte migrering av käll-SSISDB, men du kan distribuera om ditt SSIS-projekt/-paket till SSISDB-målet med Azure SQL Database. Mer information om att migrera SSIS-paket finns i artikeln Migrate SQL Server Integration Services packages to Azure (Migrera SQL Server Integration Services-paket till Azure).

Utför följande steg för att migrera AdventureWorks2016-schemat till en enskild databas eller pooldatabas i Azure SQL Database:

  1. I Data Migration Assistant väljer du ikonen Nytt (+) och sedan under Projekttyp väljer du Migrering.

  2. Ange ett projektnamn i textrutan Typ av källserver, välj SQL Server. I textrutan Målservertyp väljer du sedan Azure SQL Database.

  3. Under Migreringsomfång väljer du Endast schema.

    När du har utfört de föregående stegen bör Data Migration Assistant-gränssnittet visas i följande bild:

    Skapa Data Migration Assistant-projekt

  4. Välj Skapa för att skapa projektet.

  5. I Data Migration Assistant anger du källanslutningsinformationen för din SQL Server, väljer Anslut och väljer sedan databasen AdventureWorks2016.

    Källanslutningsinformation för Data Migration Assistant

  6. Välj Nästa, under Anslut till målserver, ange målanslutningsinformationen för Azure SQL Database, välj Anslut och välj sedan databasen AdventureWorksAzure som du hade företablerad i Azure SQL Database.

    Målanslutningsinformation för Data Migration Assistant

  7. Välj Nästa för att gå vidare till skärmen Välj objekt , där du kan ange schemaobjekten i databasen AdventureWorks2016 som måste distribueras till Azure SQL Database.

    Som standard markeras alla objekt.

    Skapa SQL-skript

  8. Välj Skapa SQL-skript för att skapa SQL-skripten och granska sedan om det finns fel i skripten.

    Schemaskript

  9. Välj Distribuera schema för att distribuera schemat till Azure SQL Database, och när schemat har distribuerats kontrollerar du om det finns avvikelser på målservern.

    Distribuera schema

Registrera resursprovidern

Registrera resursprovidern Microsoft.DataMigration innan du skapar din första instans av Database Migration Service.

  1. Logga in på Azure-portalen. Sök efter och välj Prenumerationer.

    Visa portalprenumerationer

  2. Välj den prenumeration där du vill skapa instansen av Azure Database Migration Service och välj sedan Resursprovidrar.

    Visa resursprovidrar

  3. Sök efter migrering och välj sedan Registrera dig för Microsoft.DataMigration.

    Registrera resursprovider

Skapa en Azure Database Migration Service-instans

  1. I Menyn i Azure-portalen eller på sidan Start väljer du Skapa en resurs. Sök efter och välj Azure Database Migration Service.

    Azure Marketplace

  2. På sidan Azure Database Migration Service väljer du Skapa.

    Skapa Azure Database Migration Service-instans

    Välj lämplig typ av källserver och målservertyp och välj alternativet Databasmigreringstjänst (klassisk).

    Välj scenario för Database Migration Service (klassisk)

  3. På skärmen Skapa grunderna för Migreringstjänsten :

    • Välj prenumerationen.
    • Skapa en ny resursgrupp eller välj en befintlig.
    • Ange ett namn för instansen av Azure Database Migration Service.
    • Välj den plats där du vill skapa instansen av Azure Database Migration Service.
    • Välj Azure som tjänstläge.
    • Välj en prisnivå. Mer information om kostnader och prisnivåer finns på sidan med priser.

    Konfigurera grundläggande inställningar för Azure Database Migration Service-instans

    • Välj Nästa: Nätverk.
  4. På skärmen Skapa migreringstjänstnätverk:

    • Välj ett befintligt virtuellt nätverk eller skapa ett nytt. Det virtuella nätverket ger Azure Database Migration Service åtkomst till källservern och målinstansen. Mer information om hur du skapar ett virtuellt nätverk i Azure-portalen finns i artikeln Skapa ett virtuellt nätverk med Hjälp av Azure-portalen.

    Konfigurera nätverksinställningar för Azure Database Migration Service-instans

    • Välj Granska + Skapa för att granska informationen och välj sedan Skapa för att skapa tjänsten.

    • Efter en liten stund skapas din instans av Azure Database Migration Service och är redo att användas:

    Migreringstjänsten har skapats

Skapa ett migreringsprojekt

När tjänsten har skapats letar du reda på den i Azure Portal, öppnar den och skapar sedan ett nytt migreringsprojekt.

  1. I Menyn i Azure-portalen väljer du Alla tjänster. Sök efter och välj Azure Database Migration Services.

    Leta upp alla instanser av Azure Database Migration Service

  2. På skärmen Azure Database Migration Services väljer du den Azure Database Migration Service-instans som du skapade.

  3. Välj Nytt migreringsprojekt.

    Leta upp din instans av Azure Database Migration Service

  4. På skärmen Nytt migreringsprojekt anger du ett namn för projektet, i textrutan Typ av källserver väljer du SQL Server. I textrutan Målservertyp väljer du Azure SQL Database och väljer sedan Datamigrering för Välj migreringsaktivitetstyp.

    Skapa Database Migration Service-projekt

  5. Välj Skapa och kör aktivitet för att skapa projektet och köra migreringsaktiviteten.

Ange källinformation

  1. På skärmen Välj källa anger du anslutningsinformation för SQL Server-källinstansen.

    Se till att använda ett fullständigt domännamn (FQDN) för SQL Server-källinstansens namn. Du kan även använda IP-adressen i situationer då DNS-namnmatchning inte är möjlig.

  2. Om du inte har installerat ett betrott certifikat på källservern markerar du kryssrutan Lita på servercertifikatet.

    När ett betrott certifikat inte har installerats genererar SQL Server ett självsignerat certifikat när instansen har startats. Detta certifikat används till att kryptera autentiseringsuppgifterna för klientanslutningar.

    Varning

    TLS-anslutningar som krypteras med ett självsignerat certifikat ger inte stark säkerhet. De är sårbara för man-in-the-middle-attacker. Du bör inte förlita dig på TLS med självsignerade certifikat i en produktionsmiljö eller på servrar som är anslutna till Internet.

    Viktigt!

    Om du använder SSIS stöder DMS för närvarande inte migrering av käll-SSISDB, men du kan distribuera om ditt SSIS-projekt/-paket till SSISDB-målet med Azure SQL Database. Mer information om att migrera SSIS-paket finns i artikeln Migrate SQL Server Integration Services packages to Azure (Migrera SQL Server Integration Services-paket till Azure).

    Källinformation

  3. Välj Nästa: Välj databaser.

Välj databaser för migrering

Välj antingen alla databaser eller specifika databaser som du vill migrera till Azure SQL Database. DMS ger dig den förväntade migreringstiden för valda databaser. Om migreringsavbrotten är acceptabla fortsätter du med migreringen. Om migreringsavbrotten inte är acceptabla kan du överväga att migrera till SQL Managed Instance med nästan noll stilleståndstid eller skicka förslag på förbättringar och annan feedback i Azure Community-forumet – Azure Database Migration Service.

  1. Välj de databaser som du vill migrera från listan över tillgängliga databaser.

  2. Granska den förväntade stilleståndstiden. Om det är acceptabelt väljer du Nästa: Välj mål >>

    Källdatabaser

Ange målinformation

  1. På skärmen Välj mål anger du autentiseringsinställningar för din Azure SQL Database.

    Välja mål

    Kommentar

    För närvarande är SQL-autentisering den enda autentiseringstyp som stöds.

  2. Välj Nästa: Mappa till måldatabasskärmen , mappa källan och måldatabasen för migrering.

    Om måldatabasen innehåller samma databasnamn som källdatabasen väljer Azure Database Migration Service måldatabasen som standard.

    Mappa till måldatabaser

  3. Välj Nästa: Inställningar för konfigurationsmigrering, expandera tabelllistan och granska sedan listan över berörda fält.

    Azure Database Migration Service väljer automatiskt alla tomma källtabeller som finns på azure SQL Database-målinstansen. Om du vill migrera tabeller på nytt som redan innehåller data måste du uttryckligen välja tabellerna på det här bladet.

    Välj tabeller

  4. Välj Nästa: Sammanfattning, granska migreringskonfigurationen och ange ett namn för migreringsaktiviteten i textrutan Aktivitetsnamn .

    Välja verifieringsalternativ

Köra migreringen

  • Välj Starta migrering.

    Migreringsaktivitetsfönstret visas och Status för aktiviteten är Väntande.

    Aktivitetsstatus

Övervaka migreringen

  1. På migreringsaktivitetssidan väljer du Uppdatera för att uppdatera visningen tills Status för migreringen är Slutförd.

    Aktivitetsstatus Slutförd

  2. Verifiera måldatabaserna i azure SQL-måldatabasen.

Ytterligare resurser