Zelfstudie: Migratie van SQL Server naar Azure SQL Database dms

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 database AdventureWorks2016 hersteld naar een on-premises exemplaar van SQL Server 2016 (of hoger) naar een individuele 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 database AdventureWorks2016 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, 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-verbinding hebt tussen het on-premises netwerk en Azure of als er beperkte bandbreedte beschikbaar is voor de site-naar-site-verbinding, kunt u overwegen 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 de uitgaande beveiligingsregels van uw virtuele netwerkbeveiligingsgroep 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.

  • Stel uw Windows-firewall open voor toegang van Azure Database Migration Service tot de brondatabase van SQL Server. Standaard verloopt dit via TCP-poort 1433. 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 desgewenst de SQL Browser Service inschakelen en toegang tot de 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 gebruikt voor de brondatabase(s), moet u mogelijk firewallregels toevoegen om voor Azure Database Migration Service toegang tot de brondatabase(s) voor de migratie toe te staan.

  • 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

    Als u een exemplaar van Azure Database Migration Service, hebt u toegang nodig tot instellingen voor virtuele netwerken die zich normaal gesproken niet in dezelfde resourcegroep. Als gevolg hiervan heeft de gebruiker die een dms-exemplaar maakt machtigingen op abonnementsniveau nodig. Voer het volgende script uit om de vereiste rollen te maken die u naar behoefte 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 in de vervolgkeuzelijst Evaluatietype de optie Database-engine, selecteer in het tekstvak Bronservertype de optie SQL Server, selecteer in het tekstvak Type doelserver 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 in het dialoogvenster Bronnen toevoegen de optie AdventureWorks2016, 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:

    Gegevensmigratie beoordelen

    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 een individuele of Azure SQL Database database:

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

  2. Geef een projectnaam op, selecteer in het tekstvak Bronservertype****SQL Server en in het tekstvak Doelservertype****Azure 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:

    Data Migration Assistant-Project maken

  4. Selecteer Maken om het project te maken.

  5. Geef in het Migration Assistant de details van de bronverbinding voor uw SQL Server op, selecteer Verbinding maken en selecteer vervolgens de database AdventureWorks2016.

    Details Data Migration Assistant Bronverbinding

  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.

    Details Data Migration Assistant-doelverbinding

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

    Standaard worden alle objecten geselecteerd.

    SQL-scripts genereren

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

    Schemascript

  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.

    Schema implementeren

Registreer de Microsoft.DataMigration-resourceprovider

  1. Meld u aan bij Azure Portal. Zoek en selecteer Abonnementen.

    Portal-abonnementen weergeven

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

    Resourceproviders weergeven

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

    Resourceprovider registreren

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 Service****Maken.

    Azure Database Migration Service-exemplaar maken

  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.

    Basisinstellingen configureren van een Azure Database Migration Service-exemplaar

    • 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 bron-SQL Server en het doel-Azure SQL Database-exemplaar. 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.

    Netwerkinstellingen configureren van een Azure Database Migration Service-exemplaar

    • Selecteer Beoordelen en maken om de details te controleren en selecteer vervolgens Maken om de service te maken.

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.

    Zoek alle exemplaren van 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.

    Zoek uw exemplaar van Azure Database Migration Service

  4. Geef in het scherm Nieuw migratieproject een naam op voor het project, selecteer in het tekstvak Bronservertype de optie SQL Server, selecteer in het tekstvak Type doelserver de optie Azure SQL Database en selecteer vervolgens voor Migratieactiviteittype kiezen de optie Gegevensmigratie.

    Azure Database Migration Service-project maken

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

Geef brondetails op

  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.

    Waarschuwing

    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.

    Brondetails

  3. Selecteer Volgende: Selecteer databases.

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 uitvaltijd van de migratie acceptabel is, gaat u door met de migratie. Als de uitvaltijd van de migratie niet acceptabel is, kunt u overwegen om te migreren naar SQL Managed Instance met bijna geen downtime of om contact op te nemen met het DMS-team voor andere opties.

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

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

    Brondatabases

Doeldetails opgeven

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

    Doel selecteren

    Notitie

    Momenteel is SQL verificatie het enige ondersteunde verificatietype.

  2. Selecteer Volgende: Toewijzen aan doeldatabases en wijs de bron- en doeldatabase voor de migratie toe.

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

    Toewijzen aan doeldatabases

  3. Selecteer Volgende: Migratie-instellingen configureren, breid de tabelvermelding uit en beoordeel de lijst beïnvloede 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.

    Selecteer tabellen

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

    Validatieoptie kiezen

De migratie uitvoeren

  • Selecteer Migratie starten.

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

    Activiteitenstatus

Bewaak de migratie

  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.

    Activiteitenstatus voltooid

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

Aanvullende bronnen