Descrição geral dos pré-requisitos para utilizar o Azure Database Migration Service

Existem vários pré-requisitos necessários para garantir que o Azure Database Migration Service é executado sem problemas ao realizar as migrações de base de dados. Alguns dos pré-requisitos aplicam-se a todos os cenários (pares origem-destino) suportados pelo serviço, enquanto outros são exclusivos de um cenário específico.

Os pré-requisitos associados à utilização do Azure Database Migration Service estão listados nas secções seguintes.

Pré-requisitos comuns em todos os cenários de migração

Azure Database Migration Service pré-requisitos comuns em todos os cenários de migração suportados incluem a necessidade de:

  • Crie uma Rede Virtual do Microsoft Azure para Azure Database Migration Service com o modelo de implementação do Azure Resource Manager, que fornece conectividade site a site aos servidores de origem no local através do ExpressRoute ou da VPN.

  • Certifique-se de que as regras do Grupo de Segurança de Rede (NSG) de rede virtual não bloqueiam a porta de saída 443 do ServiceTag para ServiceBus, Armazenamento e AzureMonitor. Para obter mais detalhes sobre a filtragem de tráfego NSG de rede virtual, veja o artigo Filtrar o tráfego de rede com grupos de segurança de rede.

  • Ao utilizar uma aplicação de firewall à frente das bases de dados de origem, poderá ter de adicionar regras de firewall para permitir que Azure Database Migration Service acedam às bases de dados de origem para migração.

  • Configurar a sua Firewall do Windows para acesso ao motor de bases de dados.

  • Ativar o protocolo TCP/IP, que está desativado por predefinição durante a instalação do SQL Server Express, através das instruções no artigo Enable or Disable a Server Network Protocol (Ativar ou desativar um Protocolo de Rede de Servidor).

    Importante

    A criação de uma instância de Azure Database Migration Service requer acesso às definições de rede virtual que normalmente não estão dentro do mesmo grupo de recursos. Como resultado, o utilizador que cria uma instância do DMS requer permissão ao nível da subscrição. Para criar as funções necessárias, que pode atribuir conforme necessário, execute o seguinte script:

    
    $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
    

Pré-requisitos da migração do SQL Server para a Base de Dados SQL do Azure

Além de Azure Database Migration Service pré-requisitos comuns a todos os cenários de migração, também existem pré-requisitos que se aplicam especificamente a um cenário ou a outro.

Ao utilizar o Azure Database Migration Service para executar SQL Server para SQL do Azure migrações da Base de Dados, além dos pré-requisitos comuns a todos os cenários de migração, certifique-se de que resolve os seguintes pré-requisitos adicionais:

  • Crie uma instância da Base de Dados SQL do Azure, que pode fazer ao seguir os detalhes no artigo Criar uma base de dados na Base de Dados do SQL do Azure no portal do Azure.

  • Transferir e instalar o Assistente de Migração de Dados v3.3 ou posterior.

  • Abrir a Firewall do Windows para permitir ao Azure Database Migration Service aceder ao SQL Server de origem, que, por predefinição, é a porta TCP 1433.

  • Se estiver a executar várias instâncias nomeadas do SQL Server em portas dinâmicas, poderá ser útil ativar o SQL Browser Service e permitir o acesso à porta UDP 1434 através das suas firewalls, de modo a que o Azure Database Migration Service se possa ligar a uma instância nomeada no servidor de origem.

  • Crie uma regra de firewall ao nível do servidor para Base de Dados SQL para permitir o acesso Azure Database Migration Service às bases de dados de destino. Indique o intervalo de sub-rede da rede virtual utilizada para o Azure Database Migration Service.

  • Confirmar que as credenciais utilizadas para ligar à instância de origem do SQL Server têm permissões CONTROLAR SERVIDOR.

  • Certifique-se de que as credenciais utilizadas para ligar à base de dados de destino têm a permissão BASE DE DADOS DE CONTROLO na base de dados de destino.

    Nota

    Para obter uma lista completa dos pré-requisitos necessários para utilizar o Azure Database Migration Service para efetuar migrações de SQL Server para a Base de Dados SQL do Azure, veja o tutorial Migrar SQL Server para a Base de Dados SQL do Azure.

Pré-requisitos da migração do SQL Server para a Azure SQL Managed Instance

  • Crie uma SQL Managed Instance ao seguir os detalhes no artigo Criar uma Azure SQL Managed Instance no portal do Azure.

  • Abra as firewalls para permitir o tráfego SMB na porta 445 para o endereço IP ou intervalo de sub-rede Azure Database Migration Service.

  • Abrir a Firewall do Windows para permitir ao Azure Database Migration Service aceder ao SQL Server de origem, que, por predefinição, é a porta TCP 1433.

  • Se estiver a executar várias instâncias nomeadas do SQL Server em portas dinâmicas, poderá ser útil ativar o SQL Browser Service e permitir o acesso à porta UDP 1434 através das suas firewalls, de modo a que o Azure Database Migration Service se possa ligar a uma instância nomeada no servidor de origem.

  • Confirme que os inícios de sessão utilizados para ligar o SQL Server de origem e a Instância Gerida de destino são membros da função de servidor sysadmin.

  • Crie uma partilha de rede que o Azure Database Migration Service possa utilizar para criar uma cópia de segurança da base de dados de origem.

  • Confirme que a conta de serviço em execução na instância do SQL Server de origem tem privilégios de escrita na partilha de rede que criou e que a conta do computador do servidor de origem tem acesso de leitura/escrita à mesma partilha.

  • Tome nota de um utilizador do Windows (e da palavra-passe) que tenha privilégio de controlo total na partilha de rede que criou anteriormente. O Azure Database Migration Service representa a credencial do utilizador para carregar os ficheiros de cópia de segurança para o contentor do Armazenamento do Azure para a operação de restauro.

  • Crie um contentor de blobs e obtenha o URI de SAS com os passos descritos no artigo Gerir recursos Armazenamento de Blobs do Azure com Explorador de Armazenamento. Certifique-se de que seleciona todas as permissões (Leitura, Escrita, Eliminar, Lista) na janela da política ao criar o URI de SAS.

  • Certifique-se de que tanto Azure Database Migration Service endereço IP como Azure SQL Managed Instance sub-rede podem comunicar com o contentor de blobs.

    Nota

    Para obter uma lista completa dos pré-requisitos necessários para utilizar o Azure Database Migration Service para efetuar migrações de SQL Server para SQL Managed Instance, veja o tutorial Migrar SQL Server para SQL Managed Instance.

Passos seguintes

Para obter uma descrição geral do Azure Database Migration Service e da disponibilidade regional, consulte o artigo Qual é o Azure Database Migration Service.