Översikt över förutsättningar för att använda Azure Database Migration Service

Det finns flera förutsättningar som krävs för att säkerställa Azure Database Migration Service körs smidigt när du utför databasmigrering. Några av kraven gäller för alla scenarier (källmålpar) som stöds av tjänsten, medan andra förutsättningar är unika för ett visst scenario.

Krav som är associerade med Azure Database Migration Service beskrivs i följande avsnitt.

Förutsättningar som är gemensamma för migreringsscenarier

Azure Database Migration Service som är gemensamma för alla migreringsscenarier som stöds är bland annat behovet av att:

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

  • Kontrollera att dina regler för nätverkssäkerhetsgrupp för virtuellt nätverk (NSG) inte blockerar den utgående porten 443 för ServiceTag för ServiceBus, Storage och AzureMonitor. Mer information om NSG-trafikfiltrering för virtuella nätverk finns i artikeln Filtrera nätverkstrafik med nätverkssäkerhetsgrupper.

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

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

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

    Viktigt

    Att skapa en instans Azure Database Migration Service kräver å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 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/*/write", `
    "Microsoft.DataMigration/*/delete", `
    "Microsoft.DataMigration/*/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
    

Krav för att migrera SQL Server till Azure SQL Database

Förutom de Azure Database Migration Service som är gemensamma för alla migreringsscenarier finns det även förutsättningar som gäller specifikt för ett scenario eller ett annat.

När du använder Azure Database Migration Service för att utföra SQL Server för Azure SQL Database migreringar, utöver de krav som är gemensamma för alla migreringsscenarier, måste du åtgärda följande ytterligare krav:

  • Skapa en instans Azure SQL Database instans, vilket du gör genom att följa detaljnivån i artikeln Skapa en databas i Azure SQL Database i Azure Portal.

  • Ladda ned och installera Data Migration Assistant version 3.3 eller senare.

  • Öppna Windows-brandväggen så att Azure Database Migration Service kommer åt käll-SQL Server, som har standardinställningen TCP-port 1433.

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

  • Skapa en brandväggsregel på servernivå SQL Database 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.

  • Kontrollera att autentiseringsuppgifterna som används för att ansluta till måldatabasen har CONTROL DATABASE-behörighet på måldatabasen.

    Anteckning

    En fullständig lista över de krav som krävs för att använda Azure Database Migration Service för att utföra migreringar från SQL Server till Azure SQL Database finns i självstudien Migrera SQL Server till Azure SQL Database.

Krav för att migrera SQL Server till Azure SQL Managed Instance

  • Skapa en SQL Managed Instance genom att följa detaljerna i artikeln Skapa en hanterad Azure SQL-instans i Azure Portal.

  • Öppna dina brandväggar för att tillåta SMB-trafik på port 445 för Azure Database Migration Service IP-adress eller undernätsintervall.

  • Öppna Windows-brandväggen så att Azure Database Migration Service kommer åt käll-SQL Server, som har standardinställningen TCP-port 1433.

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

  • Se till att inloggningarna som används för att ansluta SQL Server-källan och den hanterade målinstansen är medlemmar av sysadmin-serverrollen.

  • Skapa en nätverksresurs som Azure Database Migration Service kan använda till att säkerhetskopiera källdatabasen.

  • Se till att tjänstkontot som kör SQL Server-källinstansen har skrivbehörighet på nätverksresursen som du har skapat och att datorkontot för källservern har läs-/skrivåtkomst till samma resurs.

  • Anteckna en Windows-användare (och lösenordet) som har fullständig kontrollbehörighet på nätverksresursen som du tidigare har skapat. Den Azure Database Migration Service personifierar användarens autentiseringsuppgifter för att ladda upp de säkerhetskopierade filerna Azure Storage containern för återställning.

  • Skapa en blobcontainer och hämta dess SAS-URI med hjälp av stegen i artikeln Hantera Azure Blob Storage-resurser med Storage Explorer. Se till att välja alla behörigheter (Läsa, Skriva, Ta bort, Lista) i principfönstret när du skapar SAS-URI:n.

    Anteckning

    En fullständig lista över de krav som krävs för att använda Azure Database Migration Service för att utföra migreringar från SQL Server till SQL Managed Instance finns i självstudien Migrera SQL Server till SQL Managed Instance.

Nästa steg

En översikt över de Azure Database Migration Service tillgängligheten och den regionala tillgängligheten finns i artikeln Vad är Azure Database Migration Service.