Zelfstudie: SQL Server migreren naar Azure SQL Database met behulp van DMS (klassiek)

Belangrijk

Azure Database Migration Service (klassiek): SQL-scenario's bevinden zich op een afschaffingspad. Sinds 1 augustus 2023 kunt u geen nieuwe Database Migration Service-resources (klassiek) meer maken voor SQL Server-scenario's vanuit Azure Portal. De service wordt op 15 maart 2026 buiten gebruik gesteld voor alle klanten. Voor naadloze migraties van meerdere databasebronnen naar Azure SQL-doelen raadt Microsoft u aan de nieuwste versie van Azure Database Migration Service te gebruiken, die beschikbaar is als Azure SQL Migration een extensie in Azure Data Studio, of via Azure Portal of via Azure PowerShell en Azure CLI. Zie kennisgeving over buitengebruikstelling voor meer informatie: Database Migration Service (klassiek).

Notitie

In deze zelfstudie wordt een oudere versie van Azure Database Migration Service gebruikt. Voor verbeterde functionaliteit en ondersteuning kunt u overwegen om te migreren naar Azure SQL Database met behulp van de Azure SQL-migratie-extensie voor Azure Data Studio.

Als u functies tussen versies wilt vergelijken, bekijkt u de vergelijkingsversies.

U kunt Azure Database Migration Service gebruiken om de databases te migreren van een SQL Server-exemplaar naar Azure SQL Database. In deze zelfstudie migreert u de AdventureWorks2016-database die is hersteld naar een on-premises exemplaar van SQL Server 2016 (of hoger) naar een individuele database of pooldatabase in Azure SQL Database met behulp van Azure Database Migration Service.

U leert het volgende:

  • Controleer uw on-premises database voor blokkerende problemen met de Data Migration Assistant.
  • Gebruik de Data Migration Assistant om het databasevoorbeeldschema te migreren.
  • Registreer de Azure Data Migration-resourceprovider.
  • Maak een exemplaar van de Azure Database Migration Service.
  • Maak een migratieproject met behulp van Azure Database Migration Service.
  • De migratie uitvoeren.
  • Houd de migratie in de gaten.

Vereisten

Voor het voltooien van deze zelfstudie hebt u het volgende nodig:

  • Download en installeer SQL Server 2016 of hoger.

  • Schakel het TCP/IP-protocol in, dat standaard is uitgeschakeld tijdens de installatie van SQL Server Express, door de instructies in het artikel In- of uitschakelen van een Server Network Protocol te volgen.

  • Herstel de AdventureWorks2016-database naar het SQL Server-exemplaar.

  • Maak een database in Azure SQL Database. Dit doet u door de stappen te volgen in het artikel Een database in Azure SQL Database maken met behulp van de Azure-portal. Voor deze zelfstudie wordt ervan uitgegaan dat de naam van de Azure SQL Database AdventureWorksAzure is, maar u kunt elke naam die u wenst opgeven.

    Notitie

    Als u SQL Server Integration Services (SSIS) gebruikt en de catalogusdatabase voor uw SSIS-projecten/-pakketten (SSISDB) wilt migreren van SQL Server naar Azure SQL Database, wordt de doel-SSISDB automatisch namens u gemaakt en beheerd wanneer u SSIS in Azure Data Factory (ADF) inricht. Zie het artikel Pakketten van SQL Server Integration Services migreren naar Azure voor meer informatie over het migreren van SSIS-pakketten.

  • Download en installeer de nieuwste versie van de Data Migration Assistant.

  • Maak een Microsoft Azure Virtual Network voor Azure Database Migration Service met behulp van het Azure Resource Manager-implementatiemodel. Dit geeft site-naar-site-verbinding met uw on-premises bronservers met behulp van ExpressRoute of VPN. Voor meer informatie over het maken van een virtueel netwerk raadpleegt u de Documentatie over virtuele netwerken en dan met name de quickstart-artikelen met stapsgewijze informatie.

    Notitie

    Als u bij de installatie van een virtueel netwerk gebruikmaakt van ExpressRoute met netwerkpeering voor Microsoft, voegt u de volgende service-eindpunten toe aan het subnet waarin de service wordt ingericht:

    • Eindpunt van de doeldatabase (bijvoorbeeld SQL-eindpunt, Azure Cosmos DB-eindpunt, enzovoort)
    • Opslageindpunt
    • Service Bus-eindpunt

    Deze configuratie is noodzakelijk omdat Azure Database Migration Service geen internetverbinding biedt.

    Als u geen site-naar-site-connectiviteit hebt tussen het on-premises netwerk en Azure of als er beperkte bandbreedte voor site-naar-site-connectiviteit is, kunt u overwegen Om Azure Database Migration Service te gebruiken in de hybride modus (preview). De hybride modus maakt gebruik van een on-premises migratiewerkrol en een exemplaar van Azure Database Migration Service dat in de cloud wordt uitgevoerd. Als u een exemplaar van Azure Database Migration Service in de hybride modus wilt maken, raadpleegt u het artikel Create an instance of the Azure Database Migration Service by using the Azure portal (Een exemplaar van Azure Database Migration Service maken in de hybride modus met behulp van de Azure-portal).

  • Zorg ervoor dat uitgaande beveiligingsregels voor uw virtuele netwerknetwerkbeveiligingsgroep de uitgaande poort 443 van ServiceTag voor ServiceBus, Storage en AzureMonitor niet blokkeren. Zie het artikel Netwerkverkeer filteren met netwerkbeveiligingsgroepen voor meer informatie over filteren van verkeer via de netwerkbeveiligingsgroep voor virtuele Azure-netwerken.

  • Configureer uw Windows Firewall voor toegang tot de database-engine.

  • Open uw firewall in Windows om Azure Database Migration Service toegang te geven tot de bron-SQL Server, die standaard TCP-poort 1433 is. Als uw standaardexemplaar op een andere poort luistert, voegt u deze toe aan de firewall.

  • Als u meerdere benoemde SQL Server-exemplaren uitvoert met behulp van dynamische poorten, kunt u de SQL Browser-service inschakelen en toegang tot UDP-poort 1434 via uw firewalls toestaan, zodat Azure Database Migration Service verbinding kan maken met een benoemd exemplaar op uw bronserver.

  • Wanneer u een firewallapparaat voor uw brondatabase(s) gebruikt, moet u mogelijk firewallregels toevoegen om Azure Database Migration Service toegang te geven tot de brondatabase(s) voor migratie.

  • Maak een IP-firewallregel op serverniveau voor Azure SQL Database om voor Azure Database Migration Service toegang tot de doeldatabase toe te staan. Geef het subnetbereik van het virtuele netwerk op dat wordt gebruikt voor Azure Database Migration Service.

  • Zorg ervoor dat de referenties waarmee verbinding wordt gemaakt met het SQL Server-bronexemplaar CONTROL SERVER-machtigingen hebben.

  • Zorg ervoor dat de referenties waarmee verbinding wordt gemaakt met het Azure SQL Database-doelexemplaar CONTROL DATABASE-machtiging hebben op de doeldatabases.

    Belangrijk

    Voor het maken van een instantie van Azure Database Migration Service is toegang vereist tot de instellingen van het virtuele netwerk die zich normaal gesproken niet binnen dezelfde resourcegroep bevinden. Als gevolg hiervan vereist de gebruiker die een exemplaar van DMS maakt, machtiging op abonnementsniveau. Voer het volgende script uit om de vereiste rollen te maken die u indien nodig kunt toewijzen:

    
    $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
    

Uw on-premises resources evalueren

Voordat u gegevens uit een SQL Server-exemplaar naar een individuele of pooldatabase in Azure SQL Database kunt migreren, moet u controleren of de SQL Server-database blokkerende problemen bevat die mogelijk de migratie verhinderen. Volg met behulp van de Data Migration Assistant de stappen in het artikel Uitvoeren van een SQL Server-migratie-evaluatie uit om de on-premises database-evaluatie uit te voeren. Hier volgt een samenvatting van de vereiste stappen:

  1. Selecteer het pictogram Nieuw (+) in de Data Migration Assistant, en selecteer vervolgens het projecttype Evaluatie.

  2. Geef een projectnaam op. Selecteer database-engine in de vervolgkeuzelijst Evaluatietype, selecteer in het tekstvak Bronservertype SQL Server, selecteer in het tekstvak Doelservertype de optie Azure SQL Database en selecteer Vervolgens Maken om het project te maken.

    Wanneer u de SQL Server-brondatabase controleert die u naar een individuele of pooldatabase in Azure SQL Database wilt migreren, kunt u kiezen voor een of beide van de volgende typen evaluatierapport:

    • Databasecompatibiliteit controleren
    • Functiepariteit controleren

    Beide rapporttypen zijn standaard geselecteerd.

  3. Selecteer in de Data Migration Assistant, in het scherm Opties, Volgende.

  4. Geef in het scherm Bronnen selecteren, in het dialoogvenster Verbinding maken met een server, de verbindingsdetails met uw SQL Server op, en selecteer vervolgens Verbinding maken.

  5. Selecteer AdventureWorks2016 in het dialoogvenster Bronnen toevoegen, selecteer Toevoegen en selecteer Vervolgens Evaluatie starten.

    Notitie

    Als u SSIS gebruikt, wordt de evaluatie van de bron-SSISDB momenteel niet door DMA ondersteund. SSIS-projecten/-pakketten worden echter beoordeeld/gevalideerd als ze zijn geïmplementeerd in de doel-SSISDB die wordt gehost door Azure SQL Database. Zie het artikel Pakketten van SQL Server Integration Services migreren naar Azure voor meer informatie over het migreren van SSIS-pakketten.

    Wanneer de evaluatie voltooid is, worden de resultaten weergegeven zoals in de volgende afbeelding:

    Assess data migration

    Voor databases in Azure SQL Database identificeren de beoordelingen problemen met betrekking tot functiepariteit en problemen die de migratie blokkeren bij een implementatie naar een individuele of pooldatabase.

    • De categorie SQL Server-functiepariteit biedt een uitgebreide set met aanbevelingen, alternatieve methoden die beschikbaar zijn in Azure, en beperkende stappen voor het plannen van de inzet in uw migratieprojecten.
    • De categorie compatibiliteitsproblemen identificeert gedeeltelijk ondersteunde of niet-ondersteunde functies die compatibiliteitsproblemen laten zien die mogelijk de migratie van SQL Server-databases naar Azure SQL Database blokkeren. Aanbevelingen om deze problemen op te lossen worden ook gegeven.
  6. Bekijk de resultaten van de evaluatie voor migratieblokkerende problemen en problemen met de functiepariteit door de specifieke opties te selecteren.

Het voorbeeldschema migreren

Wanneer u tevreden bent over de evaluatie en overtuigd bent dat de geselecteerde database een goede kandidaat is voor migratie naar een individuele of pooldatabase in Azure SQL Database, kunt u de DMA gebruiken om het schema naar Azure SQL Database te migreren.

Notitie

Voordat u een migratieproject in Data Migration Assistant maakt, moet u ervoor zorgen dat u in Azure al een database hebt ingericht zoals vermeld in de vereisten.

Belangrijk

Als u SSIS gebruikt, biedt DMA momenteel geen ondersteuning voor de migratie van de bron-SSISDB, maar u kunt uw SSIS-projecten/-pakketten opnieuw implementeren naar de doel-SSISDB die wordt gehost door Azure SQL Database. Zie het artikel Pakketten van SQL Server Integration Services migreren naar Azure voor meer informatie over het migreren van SSIS-pakketten.

Voer de volgende stappen uit om het Schema AdventureWorks2016 te migreren naar één database of pooldatabase in Azure SQL Database:

  1. Selecteer het pictogram Nieuw (+) in de Data Migration Assistant, en selecteer vervolgens onder ProjecttypeMigratie.

  2. Geef een projectnaam op, selecteer in het tekstvak BronservertypeSQL Serveren in het tekstvak DoelservertypeAzure SQL Database.

  3. Selecteer onder Migratiebereik, selecteer Alleen schema.

    Na het uitvoeren van de vorige stappen, moet de Data Migration Assistant-interface worden weergegeven zoals in de volgende afbeelding:

    Create Data Migration Assistant Project

  4. Selecteer Maken om het project te maken.

  5. Geef in Data Migration Assistant de bronverbindingsgegevens voor uw SQL Server op, selecteer Verbinding maken en selecteer vervolgens de AdventureWorks2016-database.

    Data Migration Assistant Source Connection Details

  6. Selecteer Volgende onder Verbinding maken met doelserver, geef de details van de doelverbinding voor de Azure SQL-database op, selecteer Verbinden en selecteer vervolgens de database AdventureWorksAzure die u vooraf hebt ingericht in Azure SQL Database.

    Data Migration Assistant Target Connection Details

  7. Selecteer Volgende om naar het scherm Objecten selecteren te gaan, waarin u de schemaobjecten in de AdventureWorks2016-database kunt opgeven die moeten worden geïmplementeerd in Azure SQL Database.

    Standaard worden alle objecten geselecteerd.

    Generate SQL Scripts

  8. Selecteer SQL-script genereren voor het maken van de SQL-scripts en controleer vervolgens de scripts op fouten.

    Schema Script

  9. Selecteer Schema implementeren om het schema te implementeren naar Azure SQL Database, en nadat het schema is geïmplementeerd, controleer de doelserver op eventuele afwijkingen.

    Deploy Schema

De resourceprovider registreren

Registreer de Microsoft.DataMigration-resourceprovider voordat u uw eerste Database Migration Service-exemplaar maakt.

  1. Meld u aan bij het Azure-portaal. Zoek en selecteer Abonnementen.

    Show portal subscriptions

  2. Selecteer het abonnement waarin u het Azure Database Migration Service-exemplaar wilt maken en selecteer vervolgens Resourceproviders.

    Show resource providers

  3. Zoek naar migratie en selecteer Registreren voor Microsoft.DataMigration.

    Register resource provider

Een Azure Database Migration Service-exemplaar maken

  1. Selecteer in het menu van de Azure-portal of op de startpagina de optie Een resource maken. Zoek en selecteer Azure Database Migration Service.

    Azure Marketplace

  2. Selecteer in het scherm Azure Database Migration ServiceMaken.

    Create Azure Database Migration Service instance

    Selecteer het juiste bronservertype en het doelservertype en kies de optie Database Migration Service (klassiek).

    Select Database Migration Service (Classic) scenario

  3. Ga in het basisscherm Migratieservice maken als volgt te werk:

    • Selecteer het abonnement.
    • Maak een nieuwe resourcegroep of kies een bestaande resourcegroep.
    • Geef een naam op voor het exemplaar van de Azure Database Migration Service.
    • Selecteer de locatie waarop u het exemplaar van Azure Database Migration Service wilt maken.
    • Kies Azure als de servicemodus.
    • Selecteer een prijscategorie. Zie voor meer informatie over de kosten en prijscategorieën de Pagina met prijzen.

    Configure Azure Database Migration Service instance basics settings

    • Selecteer Volgende: Netwerken.
  4. Ga in het netwerkscherm Migratieservice maken als volgt te werk:

    • Selecteer een bestaand virtueel netwerk of maak een nieuw netwerk. Het virtuele netwerk biedt Azure Database Migration Service toegang tot de bronserver en het doelexemplaren. Zie het artikel Een virtueel netwerk maken met de Azure-portal voor meer informatie over het maken van een virtueel netwerk in de Azure-portal.

    Configure Azure Database Migration Service instance networking settings

    • Selecteer Beoordelen + Maken om de details te bekijken en selecteer Vervolgens Maken om de service te maken.

    • Na enkele ogenblikpen wordt uw exemplaar van de Azure Database Migration-service gemaakt en klaar voor gebruik:

    Migration service created

Een migratieproject maken

Nadat de service is gemaakt, zoek deze op in de Azure-portal, open hem en maak vervolgens een nieuw migratieproject.

  1. Selecteer Alle services in het menu van Azure Portal. Zoek en selecteer Azure Database Migration Service.

    Locate all instances of Azure Database Migration Service

  2. Selecteer in het scherm Azure Database Migration Service het exemplaar van Azure Database Migration Service dat u hebt gemaakt.

  3. Selecteer Nieuw migratieproject.

    Locate your instance of Azure Database Migration Service

  4. Geef in het scherm Nieuw migratieproject een naam op voor het project, selecteer SQL Server in het tekstvak Bronservertype, selecteer in het tekstvak Doelservertype de optie Azure SQL Database en selecteer vervolgens voor Het type Migratieactiviteit de optie Gegevensmigratie.

    Create Database Migration Service Project

  5. Selecteer Maken en uitvoeren van de activiteit om het project te maken en de migratieactiviteit uit te voeren.

Brondetails opgeven

  1. Geef in het scherm Bron selecteren de details van de verbinding op voor het bron-SQL Server-exemplaar.

    Zorg ervoor dat u een Fully Qualified Domain Name (FQDN) gebruikt voor de naam van het bron-SQL Server-exemplaar. U kunt ook het IP-adres gebruiken voor situaties waarin DNS-naamomzetting niet mogelijk is.

  2. Als u geen vertrouwd certificaat op de bronserver hebt geïnstalleerd, selecteert u het selectievakje Servercertificaat vertrouwen.

    Wanneer geen vertrouwd certificaat is geïnstalleerd, genereert SQL Server een zelfondertekend certificaat wanneer het exemplaar wordt gestart. Dit certificaat wordt gebruikt voor het versleutelen van de referenties voor clientverbindingen.

    Let op

    TLS-verbindingen die zijn versleuteld met behulp van een zelfondertekend certificaat bieden geen sterke beveiliging. Ze zijn vatbaar voor man-in-the-middle-aanvallen. U moet niet vertrouwen op TLS met behulp van zelfondertekende certificaten in een productieomgeving of op servers die zijn verbonden met internet.

    Belangrijk

    Als u SSIS gebruikt, biedt DMA momenteel geen ondersteuning voor de migratie van de bron-SSISDB, maar u kunt uw SSIS-projecten/-pakketten opnieuw implementeren naar de doel-SSISDB die wordt gehost door Azure SQL Database. Zie het artikel Pakketten van SQL Server Integration Services migreren naar Azure voor meer informatie over het migreren van SSIS-pakketten.

    Source Details

  3. Selecteer Volgende: Databases selecteren.

Databases selecteren voor migratie

Selecteer alle databases of specifieke databases die u wilt migreren naar Azure SQL Database. DMS biedt u de verwachte migratietijd voor geselecteerde databases. Als de downtime van de migratie acceptabel is, gaat u verder met de migratie. Als de downtime van de migratie niet acceptabel is, kunt u overwegen om te migreren naar SQL Managed Instance met bijna nul downtime of ideeën/suggesties voor verbetering in te dienen, en andere feedback in het Azure Community-forum: Azure Database Migration Service.

  1. Kies de database(s) die u wilt migreren vanuit de lijst met beschikbare databases.

  2. Bekijk de verwachte downtime. Als dit acceptabel is, selecteert u Volgende: Doel selecteren >>

    Source databases

Doeldetails opgeven

  1. Geef in het scherm Doel selecteren verificatie-instellingen op voor uw Azure SQL Database.

    Select target

    Notitie

    Momenteel is SQL-verificatie het enige ondersteunde verificatietype.

  2. Selecteer Volgende: Het scherm Toewijzen aan doeldatabases , de bron en de doeldatabase toewijzen voor migratie.

    Als de doeldatabase de naam van de dezelfde database als de bron-database bevat, wordt in Azure Database Migration Service de doeldatabase standaard geselecteerd.

    Map to target databases

  3. Selecteer Volgende: Configuratiemigratie-instellingen, vouw de tabelvermelding uit en bekijk vervolgens de lijst met betrokken velden.

    Azure Database Migration Service selecteert automatisch alle lege brontabellen die beschikbaar zijn op het Azure SQL Database-doelexemplaar. Als u tabellen wilt terug migreren die al gegevens bevatten, moet u expliciet de tabellen op deze blade selecteren.

    Select tables

  4. Selecteer Volgende: Samenvatting, controleer de migratieconfiguratie en geef in het tekstvak Activiteitsnaam een naam op voor de migratieactiviteit.

    Choose validation option

De migratie uitvoeren

  • Selecteer Migratie starten.

    Het venster van de migratieactiviteit wordt weergegeven, en de Status van de activiteit is In behandeling.

    Activity Status

De migratie bewaken

  1. Selecteer op het scherm van de activiteitenmigratie Vernieuwen om de weergave bij te werken totdat de Status van de migratie als Voltooid wordt weergegeven.

    Activity Status Completed

  2. Verifieer de doeldatabase(s) in het doel Azure SQL Database.

Aanvullende bronnen