Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Azure Database Migration Service oferece as seguintes funcionalidades:
Um serviço fiável, resiliente e tolerante a falhas que orquestra atividades de movimentação de dados para proporcionar uma experiência de migração fluida.
A capacidade de executar modos de migração online (para migrações que exigem tempo de inatividade mínimo) ou offline (para migrações em que o tempo de inatividade persiste durante a migração) para atender às suas necessidades de negócios.
A flexibilidade para criar e configurar um tempo de execução de integração autoalojado para fornecer o seu próprio conjunto de computação para aceder ao SQL Server de origem e às cópias de segurança no seu ambiente no local.
Com ferramentas de automação como o PowerShell - Azure DataMigration Service Module ou Azure CLI, pode migrar uma ou mais bases de dados em larga escala, incluindo bases de dados em múltiplas instâncias SQL Server.
Os scripts de exemplo a seguir podem ser referenciados para se adequar ao seu cenário de migração usando o Azure PowerShell ou a CLI do Azure:
| Cenário de migração | Linguagem de script |
|---|---|
| Avaliação do SQL Server | PowerShell / CLI do Azure |
| SQL Server para Instância Gerenciada SQL do Azure (usando compartilhamento de arquivos) | PowerShell / Azure CLI |
| SQL Server para Instância Gerenciada SQL do Azure (usando o armazenamento do Azure) | PowerShell / CLI do Azure |
| SQL Server para SQL Server em Máquinas Virtuais do Azure (usando compartilhamento de arquivos) | PowerShell / CLI do Azure |
| SQL Server para SQL Server em Máquinas Virtuais do Azure (usando o Armazenamento do Azure) | PowerShell / Azure CLI |
| SQL Server para Banco de Dados SQL do Azure | PowerShell / CLI do Azure |
| Recomendações de SKU | PowerShell / CLI do Azure |
| Automação de migração de ponta a ponta | PowerShell / Azure CLI |
| Automação de migração de ponta a ponta para vários bancos de dados | PowerShell / CLI do Azure |
Pré-requisitos
Os pré-requisitos comuns em todos os cenários de migração com suporte usando o Azure PowerShell ou a CLI do Azure são:
Ter uma conta do Azure atribuída a uma das funções internas listadas da seguinte maneira:
Colaborador da Instância Gerenciada SQL do Azure de destino, do SQL Server em Máquinas Virtuais do Azure ou do Banco de Dados SQL do Azure e da Conta de Armazenamento para carregar seus arquivos de backup de banco de dados do compartilhamento de rede SMB (Não aplicável ao Banco de Dados SQL do Azure).
Função de leitor para os Grupos de Recursos do Azure que contêm a Instância Gerenciada SQL do Azure de destino, o SQL Server em Máquinas Virtuais do Azure ou o Banco de Dados SQL do Azure.
Função de Proprietário ou de Contribuidor para a subscrição do Azure.
A conta do Azure só é necessária ao executar as etapas de migração e não é necessária para o processo de avaliação ou etapas de recomendação do Azure.
Crie uma Instância Gerida Azure SQL, SQL Server em Máquina Virtual do Azure ou Base de Dados Azure SQL.
Se o seu destino for Azure SQL Database, tem de migrar o esquema da base de dados da fonte para o destino usando a experiência de aplicação Data-tier ou a extensão SQL Database Projects para Visual Studio Code.
Se você tiver uma Máquina Virtual do Azure existente, ela deverá ser registrada com a Extensão do Agente IaaS do SQL Server no modo de gerenciamento Completo.
Se o seu destino for Azure SQL Managed Instance ou SQL Server em Azure Virtual Machine, certifique-se de que os logins usados para ligar o SQL Server de origem pertencem ao papel de sysadmin server ou têm
CONTROL SERVERpermissão.Se o seu destino for o Banco de Dados SQL do Azure, verifique se o logon usado para conectar o SQL Server de origem é um membro e o
db_datareaderlogon e para o SQL Server de destino édb_owner.Use uma das seguintes opções de armazenamento para o banco de dados completo e os arquivos de backup do log de transações:
Compartilhamento de rede SMB
Compartilhamento de ficheiros ou contentor de blobs da conta de armazenamento do Azure
Se os arquivos de backup do banco de dados forem fornecidos em um compartilhamento de rede SMB, crie uma conta de armazenamento do Azure que permita que o serviço DMS carregue os arquivos de backup do banco de dados. Certifique-se de criar a Conta de Armazenamento do Azure na mesma região em que a instância do Serviço de Migração de Banco de Dados do Azure é criada.
Verifique se o contêiner de blob da conta de armazenamento do Azure é usado exclusivamente para armazenar somente arquivos de backup. Quaisquer outros tipos de ficheiros (
.txt,.png,.jpg, etc.) interferem com o processo de restauro, levando a uma falha.O Serviço de Migração de Banco de Dados do Azure não inicia nenhum backup e, em vez disso, usa backups existentes, que você pode já ter como parte do seu plano de recuperação de desastres, para a migração.
Cada cópia de segurança pode ser escrita num ficheiro de cópia de segurança separado ou em vários ficheiros de cópia de segurança. No entanto, não há suporte para anexar vários backups (ou seja, completos e t-log) em uma única mídia de backup.
Use backups compactados para reduzir a probabilidade de problemas potenciais associados à migração de backups grandes.
Verifique se a conta de serviço que executa a instância do SQL Server de origem tem permissões de leitura e gravação no compartilhamento de rede SMB que contém arquivos de backup de banco de dados.
O certificado de instância do SQL Server de origem de um banco de dados protegido por TDE (criptografia de dados transparente) deve ser migrado para a Instância Gerenciada SQL do Azure de destino ou para o SQL Server na Máquina Virtual do Azure antes de migrar dados.
Gorjeta
Se o banco de dados contiver dados confidenciais protegidos pelo Always Encrypted, o processo de migração migrará automaticamente suas chaves Always Encrypted para a Instância Gerenciada SQL do Azure ou o SQL Server na Máquina Virtual do Azure de destino.
Se as cópias de segurança da base de dados estiverem numa partilha de ficheiros de rede, forneça uma máquina para instalar o runtime de integração autogerido para aceder e migrar as cópias de segurança da base de dados. Os módulos do Azure PowerShell ou Azure CLI fornecem as credenciais de autenticação para registar o seu runtime de integração auto-hospedado. Em preparação para a migração, verifique se a máquina onde planeia instalar o self-hosted integration runtime tem as seguintes regras de firewall de saída e nomes de domínio habilitados:
Nomes de domínio Portas de saída Descrição Cloud Pública: {datafactory}.{region}.datafactory.azure.net
ou*.frontend.clouddatahub.net
Azure Government:{datafactory}.{region}.datafactory.azure.us
China:{datafactory}.{region}.datafactory.azure.cn443 Exigido pelo tempo de execução de integração auto-hospedado para se conectar ao serviço de Migração de Dados.
Para o Data Factory recém-criado na nuvem pública, localize o FQDN a partir da sua chave de Self-hosted Integration Runtime, que está no formato{datafactory}.{region}.datafactory.azure.net. Para a antiga Fábrica de Dados, se não visualizar o FQDN na sua chave de integração auto-hospedada, utilize *.frontend.clouddatahub.net em vez disso.download.microsoft.com443 Exigido pelo tempo de execução de integração auto-hospedado para baixar as atualizações. Se desativou a atualização automática, pode ignorar a configuração deste domínio. *.core.windows.net443 Usado pelo runtime de integração auto-hospedado que se conecta à conta de armazenamento do Azure para realizar upload de backups de banco de dados a partir do seu compartilhamento de rede Se os arquivos de backup do banco de dados já forem fornecidos em uma conta de armazenamento do Azure, o tempo de execução de integração auto-hospedado não será necessário durante o processo de migração.
Ao usar o tempo de execução de integração auto-hospedado, certifique-se de que a máquina onde o tempo de execução está instalado possa se conectar à instância do SQL Server de origem e ao compartilhamento de arquivos de rede onde os arquivos de backup estão localizados.
A porta de saída 445 deve ser habilitada para acessar o compartilhamento de arquivos de rede.
Se estiver a utilizar o Serviço de Migração de Base de Dados do Azure pela primeira vez, certifique-se de que o fornecedor de recursos Microsoft.DataMigration está registado na sua subscrição. Você pode seguir as etapas para registrar o provedor de recursos
Se o seu destino de migração for o Banco de Dados SQL do Azure, você não precisará de backups para executar essa migração. A migração para o Banco de Dados SQL do Azure é considerada uma migração lógica envolvendo a pré-criação do banco de dados e a movimentação de dados (realizada pelo DMS).
Automatize migrações de banco de dados
Usando o Azure PowerShell Az.DataMigration ou Azure CLI az datamigration, você pode migrar bancos de dados automatizando a criação do Serviço de Migração de Banco de Dados do Azure, configurando migrações de banco de dados para migração online e executando uma substituição. Há vários outros comandos e funcionalidades documentados em Exemplos do Azure.
Exemplos de como automatizar a migração de um banco de dados do SQL Server usando a CLI do Azure:
Etapa 1: Criar o Serviço de Migração de Banco de Dados do Azure, que orquestrará as atividades de migração do seu banco de dados.
#STEP 1: Create Database Migration Service
az datamigration sql-service create --resource-group "myRG" --sql-migration-service-name "myMigrationService" --location "EastUS2"
Etapa 2: Configurar e iniciar a migração de banco de dados online do SQL Server local (com backups no armazenamento do Azure) para a Instância Gerenciada SQL do Azure.
#STEP 2: Start Migration
az datamigration sql-managed-instance create `
--source-location '{\"AzureBlob\":{\"storageAccountResourceId\":\"/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.Storage/storageAccounts/dbbackupssqlbits\",\"accountKey\":\"myAccountKey\",\"blobContainerName\":\"dbbackups\"}}' `
--migration-service "/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.DataMigration/SqlMigrationServices/myMigrationService" `
--scope "/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/mySQLMI" `
--source-database-name "AdventureWorks2008" `
--source-sql-connection authentication="SqlAuthentication" data-source="mySQLServer" password="<password>" user-name="sqluser" `
--target-db-name "AdventureWorks2008" `
--resource-group myRG `
--managed-instance-name mySQLMI
Etapa 3: Execute um cutover de migração depois que todos os backups estiverem restaurados na Instância Gerenciada SQL do Azure.
#STEP 3: Get migration ID and perform Cutover
$migOpId = az datamigration sql-managed-instance show --managed-instance-name "mySQLMI" --resource-group "myRG" --target-db-name "AdventureWorks2008" --expand=MigrationStatusDetails --query "properties.migrationOperationId"
az datamigration sql-managed-instance cutover --managed-instance-name "mySQLMI" --resource-group "myRG" --target-db-name "AdventureWorks2008" --migration-operation-id $migOpId
Se você receber o erro The subscription is not registered to use namespace 'Microsoft.DataMigration'. See https://aka.ms/rps-not-found for how to register subscriptions., execute o seguinte comando:
Register-AzResourceProvider -ProviderNamespace "Microsoft.DataMigration"