Ö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 att Azure Database Migration Service fungerar bra när du migrerar databaser. Vissa av förutsättningarna gäller för alla scenarier (par av källa/mål) som tjänsten har stöd för, medan andra förutsättningar är specifika för ett visst scenario.

Krav som är associerade med att använda Azure Database Migration Service visas i följande avsnitt.

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

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

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

  • Se till att reglerna för nätverkssäkerhetsgruppen (NSG) för virtuella nätverk inte blockerar utgående port 443 i 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 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.

  • 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

    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/*/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-DmsContributorRole() {
    $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-DmsContributorRole
    

Förutsättningar för att migrera SQL Server till Azure SQL Database

Förutom Azure Database Migration Service krav som är gemensamma för alla migreringsscenarier finns det också krav som gäller specifikt för ett eller annat scenario.

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

  • Skapa en instans av Azure SQL Database, vilket du gör genom att följa informationen 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å för SQL Database så att 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 de autentiseringsuppgifter som används för att ansluta till måldatabasen har behörigheten CONTROL DATABASE 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.

Förutsättningar för att migrera SQL Server till Azure SQL Managed Instance

  • Skapa en SQL Managed Instance genom att följa informationen i artikeln Skapa en Azure SQL Managed Instance i Azure Portal.

  • Öppna brandväggarna 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. Azure Database Migration Service personifierar användarens autentiseringsuppgifter för att ladda upp säkerhetskopieringsfilerna till 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äs, Skriva, Ta bort, Lista) i principfönstret när du skapar SAS-URI:n.

  • Se till att både Azure Database Migration Service IP-adress och Azure SQL Managed Instance undernät kan kommunicera med blobcontainern.

    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 Azure Database Migration Service och regional tillgänglighet finns i artikeln Vad är Azure Database Migration Service.