Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A extensão de migração do SQL do Azure para Azure Data Studio reúne uma experiência simplificada de avaliação, recomendação e migração que oferece as seguintes funcionalidades:
Um mecanismo de avaliação aprimorado que pode avaliar as instâncias do SQL Server, identificando os bancos de dados prontos para migração para os diferentes destinos do SQL do Azure.
Um mecanismo de recomendação de SKU que coleta dados de desempenho da instância do SQL Server de origem no local, gerando recomendações de SKU com o tamanho apropriado com base no destino do Azure SQL.
Um serviço confiável do Azure desenvolvido pelo Serviço de Migração de Banco de Dados do Azure que orquestra as atividades de movimentação de dados para oferecer uma experiência de migração perfeita.
A capacidade de executar migrações online (para as migrações que exigem tempo de inatividade mínimo) ou offline (para as migrações em que o tempo de inatividade persiste durante a migração) a fim de atender às suas necessidades comerciais.
A flexibilidade de criar e configurar um runtime de integração auto-hospedada para fornecer uma computação própria de acesso ao SQL Server de origem e aos backups no ambiente local.
Com ferramentas de automação como o PowerShell – Módulo de Serviço de Migração de Dados ou a CLI do Azure, você pode aplicar os recursos da extensão de Migração do SQL do Azure juntamente com Serviço de Migração de Banco de Dados do Azure para migrar um ou mais bancos de dados em escala (incluindo bancos de dados em várias instâncias do SQL Server).
Os scripts de amostra 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 | Idioma do script |
|---|---|
| Avaliação do SQL Server | PowerShell / CLI do Azure |
| SQL Server para Instância Gerenciada de SQL do Azure (usando o compartilhamento de arquivos) | PowerShell / CLI do Azure |
| SQL Server para Instância Gerenciada de 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 arquivo) | PowerShell / CLI do Azure |
| SQL Server para SQL Server em Máquinas Virtuais do Azure (usando o Armazenamento do Azure) | PowerShell / CLI do Azure |
| SQL Server para o 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 / CLI do Azure |
| 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:
Tenha uma conta do Azure atribuída a uma das funções internas listadas da seguinte maneira:
Colaborador para a Instância Gerenciada de SQL do Azure de destino, SQL Server em Máquinas Virtuais do Azure ou Banco de Dados SQL do Azure e uma Conta de Armazenamento para carregar os arquivos de backup do seu banco de dados a partir 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 de SQL do Azure, o SQL Server em Máquinas Virtuais do Azure ou o Banco de Dados SQL do Azure de destino.
Função Proprietário ou Colaborador da assinatura do Azure.
A conta do Azure só é necessária ao executar as etapas de migração e não é necessária para avaliação ou processo de etapas de recomendação do Azure.
Crie uma Instância Gerenciada de SQL do Azure, SQL Server em Máquinas Virtuais do Azure ou Banco de Dados SQL Server de destino
Se o seu destino for o Banco de Dados SQL do Azure, você precisa migrar o esquema de banco de dados da origem para o destino usando a extensão DACPAC do SQL Server ou a extensão de Projetos de Banco de Dados SQL para o Azure Data Studio.
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 destino for a Instância Gerenciada de SQL do Azure ou o SQL Server na Máquina Virtual do Azure, verifique se os logons usados para conectar o SQL Server de origem são membros da função de servidor sysadmin ou têm permissão de
CONTROL SERVER.Se o seu destino for o Banco de Dados SQL do Azure, verifique se o login usado para conectar o SQL Server de origem é um membro e se o
db_datareadere o login do SQL Server de destino sãodb_owner.Use uma das seguintes opções de armazenamento para os arquivos completos de backup de log de transações ou banco de dados:
Compartilhamento de rede SMB
Compartilhamento de arquivos ou contêiner de blob da conta de armazenamento do Azure
Se os arquivos de backup de banco de dados forem fornecidos em um compartilhamento de rede do SMB, Crie uma conta de armazenamento do Azure que permita que o serviço de DMS carregue os arquivos de backup do banco de dados. Crie a conta do Armazenamento do Azure na mesma região da instância do Serviço de Migração de Banco de Dados do Azure.
Verifique se o contêiner de blob da conta de armazenamento do Azure é usado exclusivamente para armazenar apenas arquivos de backup. Qualquer outro tipo de arquivo (
.txt,.png, etc.jpg.) interfere no processo de restauração, 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ê já pode ter como parte do seu plano de recuperação de desastre, para a migração.
Cada backup pode ser gravado em um arquivo de backup separado ou em vários arquivos de backup. 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 ocorrência de problemas potenciais associados à migração de backups de grande porte.
Verifique se a conta de serviço executando a instância de 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 (transparent Data Encryption) deve ser migrado para a Instância Gerenciada de SQL do Azure de destino ou o SQL Server na Máquina Virtual do Azure antes de migrar dados. Para obter mais informações sobre como migrar bancos de dados habilitados para TDE, confira Tutorial: Migrar bancos de dados habilitados para TDE (versão prévia) para o SQL do Azure no Azure Data Studio.
Dica
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 de SQL do Azure de destino ou o SQL Server na Máquina Virtual do Azure.
Se os backups de banco de dados estiverem em um compartilhamento de arquivos de rede, forneça um computador para instalar o runtime de integração auto-hospedada para acessar e migrar backups de banco de dados. Os módulos do Azure PowerShell ou da CLI do Azure fornecem as chaves de autenticação para registrar seu runtime de integração auto-hospedada. Na preparação para a migração, verifique se as seguintes regras de firewall de saída e nomes de domínio estão habilitados no computador em que você planeja instalar o runtime de integração auto-hospedada:
Nomes de domínio Portas de saída Descrição Nuvem pública: {datafactory}.{region}.datafactory.azure.net
ou*.frontend.clouddatahub.net
Azure Governamental:{datafactory}.{region}.datafactory.azure.us
China:{datafactory}.{region}.datafactory.azure.cn443 Necessárias para que o runtime de integração auto-hospedada se conecte ao serviço de Migração de Dados.
Para o novo Data Factory criado na nuvem pública, localize o FQDN de sua chave do Runtime de Integração Auto-Hospedada, que está no formato{datafactory}.{region}.datafactory.azure.net. Para o Data Factory antigo, se você não vir o FQDN na sua chave de Integração Auto-Hospedada, use *.frontend.clouddatahub.net.download.microsoft.com443 Exigido pelo runtime de integração auto-hospedada para fazer o download das atualizações. Se você desabilitou a atualização automática, poderá ignorar a configuração desse domínio. *.core.windows.net443 Usado pelo runtime de integração auto-hospedada que se conecta à conta de armazenamento do Azure para carregar backups de banco de dados do compartilhamento de rede Se os arquivos de backup do banco de dados já forem fornecidos em uma conta de armazenamento do Azure, o runtime de integração auto-hospedada não será necessário durante o processo de migração.
Ao usar o runtime de integração auto-hospedada, verifique se o computador em que o runtime está instalado pode se conectar à instância do SQL Server de origem e ao compartilhamento de arquivo de rede em que os arquivos de backup estão localizados.
A porta de saída 445 deve ser habilitada para permitir o acesso ao compartilhamento de arquivo de rede.
Se você estiver usando o Serviço de Migração de Banco de Dados do Azure pela primeira vez, verifique se o provedor de recursos Microsoft.DataMigration está registrado em sua assinatura. 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 vai 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 e a movimentação de dados do banco de dados (executada pelo DMS).
Automatizar migrações de banco de dados
Usando Az.DataMigration do Azure PowerShell ou az datamigration da CLI do Azure, 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 transferência. Há vários outros comandos e funcionalidades documentados em Exemplos do Azure.
Exemplos de automatização da 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 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 Instância Gerenciada de 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: executar uma transferência de migração quando todos os backups forem restaurados para Instância Gerenciada de 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"