Självstudie: Migrera SQL Server till Azure SQL Database dms

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 återställd 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 den lokala databasen för eventuella blockeringsproblem med hjälp av Data Migration Assistant.
  • Använd datafilen Migration Assistant för att migrera exempelschemat för databasen.
  • Registrera resursprovidern Azure DataMigration.
  • 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 AdventureWorks2016-databasen till den 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 Portal. För den här självstudiekursen antas namnet på Azure SQL Database vara AdventureWorksAzure men du kan ange ett valfritt namn.

    Anteckning

    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 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 en Microsoft Azure Virtual Network för Azure Database Migration Service med hjälp av Azure Resource Manager-distributionsmodellen, som ger plats-till-plats-anslutning till dina lokala källservrar med hjälp av ExpressRoute eller VPN. Mer information om hur du skapar ett virtuellt nätverk finns i Virtual Network-dokumentationenoch i synnerhet snabbstartsartiklarna med stegvis information.

    Anteckning

    Om du använder ExpressRoute med nätverks-peering till Microsoft under installationen av det virtuella nätverket lägger du till följande tjänstslutpunkter i det undernät där tjänsten ska etableras:

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

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

    Om du inte har plats-till-plats-anslutning mellan det lokala nätverket och Azure eller om bandbredden för plats-till-plats är begränsad kan du överväga att använda Azure Database Migration Service i hybridläge (förhandsversion). Hybridläge utnyttjar en lokal migreringsarbetare tillsammans med en instans av Azure Database Migration Service körs i molnet. Om du vill skapa en instans Azure Database Migration Service i hybridläge kan du läsa artikeln Skapa en instans av Azure Database Migration Service i hybridläge medhjälp av Azure Portal .

  • Kontrollera att dina utgående säkerhetsregler för nätverkssäkerhetsgruppen för det virtuella nätverket inte blockerar den utgående porten 443 för 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 Windows att tillåta Azure Database Migration Service att komma åt SQL Server, vilket 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 för att tillåta Azure Database Migration Service åtkomst till källdatabaserna för migrering.

  • Skapa en IP-brandväggsregel servernivå för Azure SQL Database tillåta Azure Database Migration Service åtkomst till måldatabaserna. Ange undernätsintervallet för det virtuella nätverket 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.

  • Kontrollera att autentiseringsuppgifterna som används för att ansluta Azure SQL Database målinstansen har CONTROL DATABASE-behörighet på måldatabaserna.

    Viktigt

    Att skapa en instans Azure Database Migration Service kräver åtkomst till virtuella nätverksinställningar 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 nödvändiga rollerna 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 enkel databas eller en pooldatabas i Azure SQL Database måste du utvärdera SQL Server-databasen för eventuella blockeringsproblem som kan förhindra migrering. Med dataanalysen Migration Assistant du stegen som beskrivs i artikeln Utföra en SQL Server-migreringsutvärdering 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 Typ av källserver 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, lägg till och sedan Starta utvärdering.

    Anteckning

    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 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 funktionsparitetsproblem och blockeringsproblem vid migrering för distribution till en enkel 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 funktioner som delvis stöds eller inte stöds och som återspeglar kompatibilitetsproblem som kan blockera migrering 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.

Anteckning

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 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 Azure SQL Database databas eller pooldatabas:

  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ålservern, ange målanslutningsinformationen för Azure SQL Database, välj Anslut och välj sedan databasen AdventureWorksAzure som du hade före etablerat 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 Microsoft.DataMigration

  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 Resursproviders.

    Visa resursprovidrar

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

    Registrera resursprovider

Skapa en Azure Database Migration Service-instans

  1. I Azure Portal 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

  3. På skärmen Create Migration Service basics (Skapa grundläggande för Migration Service):

    • 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 Azure Database Migration Service för instansen

    • Välj Nästa: Nätverk.
  4. På skärmen Create Migration Service networking (Skapa Migreringstjänst-nätverk):

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

    Konfigurera Azure Database Migration Service för instansnätverk

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

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 Azure Portal 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 Ny migrering Project.

    Leta upp din instans av Azure Database Migration Service

  4. På sidan 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 för Välj aktivitetstyp migrering väljer du Datamigrering.

    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 anslutningsinformationen för den SQL Server instansen.

    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älv signerat 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älv signerade 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 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älja 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 stilleståndstiderna för migreringen är godtagbara fortsätter du med migreringen. Om stilleståndstiderna för migreringen inte är godtagbara kan du migrera till SQL Managed Instance med nära noll driftstopp eller kontakta DMS-teamet för andra alternativ.

  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 >>

    Källdatabaser

Ange målinformation

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

    Välja mål

    Anteckning

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

  2. Välj Nästa: Skärmen Mappa till måldatabaser, 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: Konfigurationsmigreringsinställningar, expandera tabelllistan och granska sedan listan över berörda fält.

    Azure Database Migration Service automatiskt alla tomma källtabeller som finns på Azure SQL Database instansen. 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. Kontrollera måldatabaserna på måldatabasen Azure SQL Database.

Ytterligare resurser