O Database Migration Service usa jobs de migração para migrar dados dos bancos de dados de origem para a instância de destino do Cloud SQL. Os jobs de migração ajudam a organizar os perfis de conexão de origem e destino, definir configurações específicas para o processo de migração, monitorar o progresso e finalizar com segurança toda a operação.
A criação de um job de migração inclui a execução das seguintes tarefas:
Selecionar perfis de conexão de origem e destino.
Escolher quais bancos de dados detectados na instância de origem você quer migrar.
Realizar um teste de job de migração para garantir que o Database Migration Service possa se conectar à origem e ao destino dos dados.
Iniciar o job de migração e monitorar o progresso.
Promover o job de migração quando você quiser mudar o aplicativo para a nova instância.
Antes de começar
- Verifique se você atende aos seguintes requisitos:
- Você tem um bucket do Cloud Storage para arquivos de backup do SQL Server.
- Seus arquivos de backup completo e de registro de transações foram enviados para o bucket do Cloud Storage.
- Você tem um perfil de conexão de origem para o bucket do Cloud Storage.
- Você criou e configurou a instância de destino do Cloud SQL para SQL Server e você tem um perfil de conexão de destino para a instância.
- No Google Cloud console do, na página do seletor de projetos, selecione ou crie um Google Cloud projeto do.
- Ative as APIs Database Migration Service, Compute Engine, Cloud Storage e Cloud SQL Admin.
Funções exigidas
Para receber as permissões necessárias para criar jobs de migração no Database Migration Service, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
-
Administrador de migração do banco de dados (
roles/datamigration.admin) -
Administrador de armazenamento (
roles/storage.admin) -
Editor do Cloud SQL (
roles/cloudsql.editor)
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Esses papéis predefinidos contêm as permissões necessárias para realizar migrações homogêneas do SQL Server com o Database Migration Service. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As permissões a seguir são necessárias para realizar migrações homogêneas do SQL Server com o Database Migration Service:
datamigration.*resourcemanager.projects.getresourcemanager.projects.listcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.databases.getcloudsql.databases.deletecloudsql.operations.getcompute.machineTypes.listcompute.machineTypes.getcompute.projects.getstorage.buckets.createstorage.buckets.liststorage.objects.list
Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.
Definir configurações e criar um job de migração
Para criar um job de migração, siga estas etapas:
Console
- No Google Cloud console, acesse a página Jobs de migração.
- Clique em Criar job de migração.
A página do assistente de configuração do job de migração será aberta. Esse assistente contém vários painéis que orientam você em cada etapa de configuração.
É possível pausar a criação de um job de migração a qualquer momento clicando em SALVAR E SAIR. Todos os dados inseridos até esse ponto são salvos em um job de migração de rascunho. Você pode terminar o job de migração de rascunho mais tarde. Consulte Atualizar um job de migração de rascunho.
- Na página Primeiros passos, insira as seguintes informações:
- Nome do job de migração
Esse é um nome legível para o job de migração. Esse valor é exibido no Google Cloud console.
- ID do job de migração
Esse é um identificador legível por máquina para o job de migração. Use esse valor para trabalhar com jobs de migração usando comandos da CLI do Google Cloud ou da API do Database Migration Service.
- Na lista Mecanismo do banco de dados de origem, selecione SQL Server ou Amazon RDS para SQL Server.
Os campos Mecanismo de banco de dados de destino e Tipo de serviço de migração são preenchidos automaticamente e não podem ser alterados.
- Nome do job de migração
- Clique em Salvar e continuar.
- Na página Definir sua origem, faça o seguinte:
- Use o menu suspenso para selecionar o perfil de conexão de origem.
Se você ainda não tiver um perfil de conexão de origem, clique em Criar perfil de conexão diretamente no menu suspenso. Para mais informações sobre como criar perfis de conexão, consulte Criar um perfil de conexão de origem.
- Se você quiser usar um arquivo de backup diferencial na migração,
na seção Personalizar configurações de origem , marque a caixa de seleção
Usar backups diferenciais.
Os backups diferenciais são úteis se você precisar replicar muitos dados que apareceram no banco de dados desde o backup completo e quiser processá-los em massa em vez de fazer upload de vários arquivos de registro de transações. Para mais informações sobre os tipos de backup compatíveis, consulte Tipos de arquivo de backup compatíveis.
Se você usar backups diferenciais, crie a
diffpasta no bucket do Cloud Storage. Consulte Armazenar arquivos de backup em um bucket do Cloud Storage. - Clique em Salvar e continuar.
- Use o menu suspenso para selecionar o perfil de conexão de origem.
- Na página Definir um destino, use o menu suspenso
para selecionar o perfil de conexão de destino.
Se você ainda não tiver um perfil de conexão de destino, clique em Criar perfil de conexão diretamente no menu suspenso. Para mais informações sobre como criar perfis de conexão, consulte Criar um perfil de conexão de destino.
- Clique em Salvar e continuar.
- Na página Configurar bancos de dados de migração, execute as seguintes ações:
- Na seção Selecionar bancos de dados para migrar, use as
caixas de seleção para escolher quais bancos de dados você quer incluir nesse
job de migração. Essa lista é preenchida com base nas pastas criadas
no bucket do Cloud Storage para os arquivos de backup.
É possível adicionar e remover bancos de dados do job de migração mais tarde. Consulte Adicionar ou remover bancos de dados de um job de migração.
- (Opcional) Se você usar backups criptografados, forneça as chaves de criptografia
para os backups. Para mais detalhes sobre como usar backups criptografados, consulte
Usar backups criptografados.
Execute estas ações:
- Clique em Editar detalhes ao lado do banco de dados
que você selecionou para migração.
O painel lateral Criptografia será aberto.
- Use os menus suspensos Chave de criptografia para selecionar as chaves.
- No campo Senha, digite a senha da chave de criptografia.
- Clique em Salvar e sair.
- Clique em Editar detalhes ao lado do banco de dados
que você selecionou para migração.
- Na seção Selecionar bancos de dados para migrar, use as
caixas de seleção para escolher quais bancos de dados você quer incluir nesse
job de migração. Essa lista é preenchida com base nas pastas criadas
no bucket do Cloud Storage para os arquivos de backup.
- Clique em Salvar e continuar.
- Na página Testar e criar job de migração, execute as seguintes
ações:
- (Opcional) Clique em Testar job para verificar se o Database Migration Service
pode identificar todos os arquivos de backup e estabelecer
as conexões de rede necessárias.
Se o teste falhar, consulte as mensagens de erro para resolver o problema e execute o teste novamente. Para mais informações sobre possíveis erros, consulte Diagnosticar problemas.
- Clique em Criar e iniciar job para começar a migração.
Se você quiser executar o job de migração em um momento diferente, clique Salvar e volte mais tarde para executar o job. Consulte Iniciar um job de migração.
- (Opcional) Clique em Testar job para verificar se o Database Migration Service
pode identificar todos os arquivos de backup e estabelecer
as conexões de rede necessárias.
gcloud
Este exemplo usa a flag --no-async opcional para que todas as operações sejam realizadas de forma síncrona. Isso significa que alguns comandos podem levar um tempo para serem concluídos. Você pode pular a flag --no-async para executar comandos de forma assíncrona.
Se você fizer isso, use o
gcloud database-migration operations describe
comando para verificar se a operação foi bem-sucedida.
Antes de usar os dados do comando abaixo, faça estas substituições:
- MIGRATION_JOB_ID com um identificador legível por máquina para o job de migração. Use esse valor para trabalhar com jobs de migração usando comandos da CLI do Google Cloud ou da API do Database Migration Service.
- REGION com o identificador da região em que você quer salvar o job de migração.
- MIGRATION_JOB_NAME com um nome legível para o job de migração. Esse valor é exibido no Database Migration Service em o Google Cloud console.
- SOURCE_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de conexão de origem.
- DESTINATION_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de conexão de destino.
- COMMA_SEPARATED_DATABASE_ID_LIST com uma
lista separada por vírgulas de identificadores de banco de dados do SQL Server que você quer
migrar dos arquivos de backup. Esses identificadores precisam ser os mesmos que os
nomes das pastas de banco de dados no Cloud Storage.
Por exemplo:
--sqlserver-databases=my-business-database,my-other-database - Configuração de backup diferencial: se você usar arquivos de backup diferencial para a
migração, adicione a flag
--sqlserver-diff-backupao comando. Por padrão, os jobs de migração não usam arquivos de backup diferencial e ignoram a pastadiffno bucket do Cloud Storage.Para mais informações sobre arquivos de backup compatíveis, consulte Tipos de arquivo de backup compatíveis.
- (Opcional) MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS
com o caminho do disco local para um arquivo de configuração que mapeia caminhos para chaves de criptografia no Cloud Storage
com os identificadores de banco de dados relevantes. Para mais informações sobre como criar esse arquivo de mapeamento, consulte
Usar backups criptografados.
Por exemplo:
--sqlserver-encrypted-databases=~/encryption-keys-mapping-file.json
Execute o seguinte comando:
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ create MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST \ --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS \ --type=CONTINUOUS
Windows (PowerShell)
gcloud database-migration migration-jobs ` create MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME ` --source=SOURCE_CONNECTION_PROFILE_ID ` --destination=DESTINATION_CONNECTION_PROFILE_ID ` --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ` --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS ` --type=CONTINUOUS
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ create MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME ^ --source=SOURCE_CONNECTION_PROFILE_ID ^ --destination=DESTINATION_CONNECTION_PROFILE_ID ^ --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ^ --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS ^ --type=CONTINUOUS
Você receberá uma resposta semelhante a esta:
Waiting for migration job [MIGRATION_JOB_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created migration job MIGRATION_JOB_ID [OPERATION_ID]
O job de migração foi criado. Você pode continuar com o processo de migração:
- (Opcional) Realize um teste de job de migração para verificar se o Database Migration Service pode alcançar todas as entidades de origem e destino necessárias.
- Inicie o job de migração para começar a transferir os dados para a instância de destino.