Självstudie: Migrera SQL Server till Azure SQL Database med DMS (klassisk)
Viktigt
Azure Database Migration Service (klassisk) – SQL-scenarier är på en utfasningsväg. Från och med den 1 augusti 2023 kommer du inte längre att kunna skapa en ny resurs för Database Migration Service (klassisk) för SQL Server scenarier från Azure Portal och dras tillbaka den 15 mars 2026 för alla kunder. Migrera till Azure SQL databastjänster med hjälp av den senaste Azure Database Migration Service versionen som är tillgänglig som ett tillägg i Azure Data Studio eller med hjälp av Azure PowerShell och Azure CLI. Läs mer.
Anteckning
I den här självstudien används en äldre version av Azure Database Migration Service. För 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 adventureworks2016-databasen som återställts till en lokal instans av SQL Server 2016 (eller senare) till en enskild 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 AdventureWorks2016-databasen 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 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 tillhandahåller plats-till-plats-anslutning till dina lokala källservrar med hjälp av antingen ExpressRoute eller VPN. Mer information om hur du skapar ett virtuellt nätverk finns i Virtual Network Dokumentation, och särskilt snabbstartsartiklarna med stegvis information.
Anteckning
Om du använder ExpressRoute med nätverkspeering till Microsoft under konfigurationen av virtuellt 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. Om du vill skapa en instans av Azure Database Migration Service i hybridläge läser du artikeln Skapa en instans av Azure Database Migration Service i hybridläge med hjälp av Azure Portal.
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 Windows-brandväggen så att Azure Database Migration Service får åtkomst till källans 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 källdatabaserna kan du behöva lägga till brandväggsregler för att tillåta Azure Database Migration Service att komma åt källdatabaserna för migrering.
Skapa en IP-brandväggsregel på servernivå för Azure SQL Database för att tillåta 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.
Kontrollera att autentiseringsuppgifterna som används för att ansluta till mål Azure SQL Database-instansen 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 ingår i samma resursgrupp. Därför kräver användaren som skapar en instans av DMS behörighet på prenumerationsnivå. Om du vill skapa de nödvändiga rollerna, som du kan tilldela efter behov, kör du följande skript:
$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 databas för eventuella blockeringsproblem som kan förhindra migrering. Med hjälp av Data Migration Assistant följer 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:
I Data Migration Assistant väljer du ikonen Nytt (+) och väljer sedan projekttypen Utvärdering.
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 Databas och väljer 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.
I Data Migration Assistant, på sidan Alternativ väljer du Näsa.
På sidan Välj källor i dialogrutan Anslut till en server, anger du anslutningsinformationen till SQL Server och väljer sedan Anslut.
I dialogrutan Lägg till källor väljer du AdventureWorks2016, väljer 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:
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 funktioner som delvis stöds eller som 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.
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 kontrollera 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 en enskild databas eller pooldatabas Azure SQL Database:
I Data Migration Assistant väljer du ikonen Nytt (+) och sedan under Projekttyp väljer du Migrering.
Ange ett projektnamn i textrutan Typ av källserver, välj SQL Server. I textrutan Målservertyp väljer du sedan Azure SQL Database.
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:
Välj Skapa för att skapa projektet.
I Data Migration Assistant anger du källanslutningsinformationen för din SQL Server, väljer Anslut och väljer sedan databasen AdventureWorks2016.
Välj Nästa under Anslut till målserver, ange målanslutningsinformationen för Azure SQL-databasen, välj Anslut och välj sedan databasen AdventureWorksAzure som du hade företablerade i Azure SQL Database.
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 ska distribueras till Azure SQL Database.
Som standard markeras alla objekt.
Välj Skapa SQL-skript för att skapa SQL-skripten och granska sedan om det finns fel i skripten.
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.
Registrera resursprovidern
Registrera resursprovidern Microsoft.DataMigration innan du skapar din första instans av Database Migration Service.
Logga in på Azure-portalen. Sök efter och välj Prenumerationer.
Välj den prenumeration där du vill skapa instansen av Azure Database Migration Service och välj sedan Resursprovidrar.
Sök efter migrering och välj sedan Registrera dig för Microsoft.DataMigration.
Skapa en Azure Database Migration Service-instans
I menyn Azure Portal eller på sidan Start väljer du Skapa en resurs. Sök efter och välj Azure Database Migration Service.
På sidan Azure Database Migration Service väljer du Skapa.
Välj lämplig typ av källserver och målservertyp och välj alternativet Database Migration Service (klassisk).
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.
- Välj Nästa: Nätverk.
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 Portal finns i artikeln Skapa ett virtuellt nätverk med hjälp av Azure Portal.
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:
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.
I menyn Azure Portal väljer du Alla tjänster. Sök efter och välj Azure Database Migration Services.
På skärmen Azure Database Migration Services väljer du den Azure Database Migration Service instans som du skapade.
Välj Nytt migreringsprojekt.
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 Databas och väljer sedan Datamigrering för Välj migreringsaktivitetstyp.
Välj Skapa och kör aktivitet för att skapa projektet och köra migreringsaktiviteten.
Ange källinformation
På skärmen Välj källa anger du anslutningsinformationen för källan 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.
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 migrera SSIS-paket finns i artikeln Migrate SQL Server Integration Services packages to Azure (Migrera SQL Server Integration Services-paket till Azure).
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 godtagbara fortsätter du med migreringen. Om migreringsavbrotten inte är godtagbara kan du överväga att migrera till SQL Managed Instance med nästan noll driftstopp eller skicka förslag på förbättringar och annan feedback i Azure Community-forumet – Azure Database Migration Service.
Välj de databaser som du vill migrera från listan över tillgängliga databaser.
Granska den förväntade stilleståndstiden. Om det är acceptabelt väljer du Nästa: Välj mål >>
Ange målinformation
På skärmen Välj mål anger du autentiseringsinställningar för din Azure SQL Database.
Anteckning
För närvarande är SQL-autentisering den enda autentiseringstyp som stöds.
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.
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å målinstansen Azure SQL Database. 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 Nästa: Sammanfattning, granska migreringskonfigurationen och ange ett namn för migreringsaktiviteten i textrutan Aktivitetsnamn .
Köra migreringen
Välj Starta migrering.
Migreringsaktivitetsfönstret visas och Status för aktiviteten är Väntande.
Övervaka migreringen
På migreringsaktivitetssidan väljer du Uppdatera för att uppdatera visningen tills Status för migreringen är Slutförd.
Kontrollera måldatabaserna på måldatabasen Azure SQL Database.
Ytterligare resurser
- Information om Azure Database Migration Service finns i artikeln Vad är Azure Database Migration Service?.
- Information om Azure SQL Database finns i artikeln Vad är tjänsten SQL Database?.