O serviço de migração de base de dados usa tarefas de migração para migrar dados das suas bases de dados de origem para a instância de destino do Cloud SQL. As tarefas de migração ajudam a organizar os perfis de ligação de origem e destino, definir as definições específicas do processo de migração, monitorizar o progresso e finalizar em segurança toda a operação.
A criação de uma tarefa de migração inclui a realização das seguintes tarefas:
Selecionar perfis de associação de origem e destino.
Escolher as bases de dados detetadas na instância de origem que quer migrar.
Executar um teste de tarefa de migração para garantir que o serviço de migração de bases de dados consegue estabelecer ligação à origem de dados e ao destino.
Iniciar a tarefa de migração e monitorizar o progresso.
Promover a tarefa de migração quando quiser mudar a sua aplicação para a nova instância.
Antes de começar
- Certifique-se de que cumpre os seguintes requisitos:
- Tem um contentor do Cloud Storage para ficheiros de cópia de segurança do SQL Server.
- Os ficheiros de registo de transações e de cópia de segurança completa são carregados para o contentor do Cloud Storage.
- Tem um perfil de ligação de origem para o contentor do Cloud Storage.
- Criou e configurou a instância do Cloud SQL de destino para o SQL Server e tem um perfil de ligação de destino para a instância.
- Na Google Cloud consola, na página do seletor de projetos, selecione ou crie um Google Cloud projeto.
- Ative as APIs Database Migration Service, Compute Engine, Cloud Storage e Cloud SQL Admin.
Funções necessárias
Para receber as autorizações necessárias para criar tarefas de migração no serviço de migração de bases de dados, peça ao seu administrador que lhe conceda as seguintes funções do IAM no seu projeto:
-
Administrador da migração da base de dados (
roles/datamigration.admin
) -
Administrador de armazenamento (
roles/storage.admin
) -
Editor do Cloud SQL (
roles/cloudsql.editor
)
Para mais informações sobre a atribuição de funções, consulte o artigo Gerir acesso.
Estas funções predefinidas contêm as autorizações necessárias para realizar migrações homogéneas do SQL Server com o serviço de migração de bases de dados. Para ver as autorizações exatas necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para realizar migrações homogéneas do SQL Server com o serviço de migração de bases de dados:
datamigration.*
resourcemanager.projects.get
resourcemanager.projects.list
cloudsql.instances.create
cloudsql.instances.get
cloudsql.instances.list
cloudsql.databases.get
cloudsql.databases.delete
cloudsql.operations.get
compute.machineTypes.list
compute.machineTypes.get
compute.projects.get
storage.buckets.create
storage.buckets.list
storage.objects.list
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Defina as definições e crie uma tarefa de migração
Para criar uma tarefa de migração, siga estes passos:
Consola
- Na Google Cloud consola, aceda à página Tarefas de migração.
- Clique em Criar tarefa de migração.
É aberta a página do assistente de configuração da tarefa de migração. Este assistente contém vários painéis que explicam cada passo de configuração.
Pode pausar a criação de uma tarefa de migração em qualquer altura clicando em GUARDAR E SAIR. Todos os dados que introduzir até esse ponto são guardados num trabalho de migração de rascunho. Pode concluir a tarefa de migração de rascunho mais tarde. Consulte o artigo Atualize uma tarefa de migração de rascunho.
- Na página Começar, introduza as seguintes informações:
- Nome da tarefa de migração
Este é um nome legível para o seu trabalho de migração. Este valor é apresentado na Google Cloud consola.
- ID da tarefa de migração
Este é um identificador legível por máquina para a sua tarefa de migração. Use este valor para trabalhar com tarefas de migração através de comandos da CLI do Google Cloud ou da API do Database Migration Service.
- Na lista Motor de base de dados de origem, selecione SQL Server ou Amazon RDS para SQL Server.
Os campos Motor da base de dados de destino e Tipo de tarefa de migração são preenchidos automaticamente e não podem ser alterados.
- Nome da tarefa de migração
- Clique em Guardar e continuar.
- Na página Defina a sua origem, faça o seguinte:
- Use o menu pendente para selecionar o perfil de associação de origem.
Se ainda não tiver um perfil de associação de origem, pode clicar em Criar perfil de associação diretamente no menu pendente. Para mais informações sobre como criar perfis de associação, consulte Crie um perfil de associação de origem.
- Se quiser usar um ficheiro de cópia de segurança diferencial na sua migração,
na secção Personalizar configurações de origem, selecione a caixa de verificação
Usar cópias de segurança diferenciais.
As cópias de segurança diferenciais são úteis se precisar de replicar muitos dados que apareceram na sua base de dados desde a cópia de segurança completa e quiser processá-los em massa em vez de carregar vários ficheiros de registo de transações. Para mais informações sobre os tipos de cópias de segurança compatíveis, consulte o artigo Tipos de ficheiros de cópias de segurança compatíveis.
Se usar cópias de segurança diferenciais, certifique-se de que cria a pasta
diff
no seu contentor do Cloud Storage. Consulte o artigo Armazene ficheiros de cópias de segurança num contentor do Cloud Storage. - Clique em Guardar e continuar.
- Use o menu pendente para selecionar o perfil de associação de origem.
- Na página Definir um destino, use o menu
pendente para selecionar o perfil de associação de destino.
Se ainda não tiver um perfil de ligação de destino, pode clicar em Criar perfil de ligação diretamente no menu pendente. Para mais informações sobre como criar perfis de associação, consulte Crie um perfil de associação de destino.
- Clique em Guardar e continuar.
- Na página Configurar bases de dados de migração, execute as seguintes ações:
- Na secção Selecionar bases de dados a migrar, use as caixas de verificação para selecionar as bases de dados que quer incluir nesta tarefa de migração. Esta lista é preenchida com base nas pastas que criou
no contentor do Cloud Storage para os seus ficheiros de cópia de segurança.
Pode adicionar e remover bases de dados da tarefa de migração mais tarde. Consulte o artigo Adicione ou remova bases de dados de uma tarefa de migração.
- (Opcional) Se usar cópias de segurança encriptadas, faculte as chaves de encriptação
das suas cópias de segurança. Para mais detalhes sobre a utilização de cópias de segurança encriptadas, consulte o artigo
Utilize cópias de segurança encriptadas.
Realize as seguintes ações:
- Clique em Editar detalhes junto à base de dados
que selecionou para a migração.
É aberto o painel lateral Encriptação.
- Use os menus pendentes Chave de encriptação para selecionar as suas chaves.
- No campo Palavra-passe, introduza a palavra-passe da chave de encriptação.
- Clique em Guardar e sair.
- Clique em Editar detalhes junto à base de dados
que selecionou para a migração.
- Na secção Selecionar bases de dados a migrar, use as caixas de verificação para selecionar as bases de dados que quer incluir nesta tarefa de migração. Esta lista é preenchida com base nas pastas que criou
no contentor do Cloud Storage para os seus ficheiros de cópia de segurança.
- Clique em Guardar e continuar.
- Em Testar e criar tarefa de migração, execute as seguintes ações:
- (Opcional) Clique em Test job (Testar tarefa) para verificar se o serviço de migração de bases de dados
consegue identificar com êxito todos os ficheiros de cópia de segurança e estabelecer
as ligações de rede necessárias.
Se o teste falhar, pode consultar as mensagens de erro para resolver o problema e executar o teste novamente. Para mais informações sobre possíveis erros, consulte o artigo Diagnosticar problemas.
- Clique em Criar e iniciar tarefa para começar a migração.
Se quiser executar a tarefa de migração noutra altura, clique em Guardar e volte mais tarde para executar a tarefa. Consulte o artigo Inicie uma tarefa de migração.
- (Opcional) Clique em Test job (Testar tarefa) para verificar se o serviço de migração de bases de dados
consegue identificar com êxito todos os ficheiros de cópia de segurança e estabelecer
as ligações de rede necessárias.
gcloud
Este exemplo usa o sinalizador --no-async
opcional para que todas as operações sejam realizadas de forma síncrona. Isto significa que alguns comandos podem demorar
algum tempo a serem concluídos. Pode ignorar a flag --no-async
para executar comandos de forma assíncrona.
Se o fizer, tem de usar o comando
gcloud database-migration operations describe
para verificar se a operação foi bem-sucedida.
Antes de usar qualquer um dos dados de comandos abaixo, faça as seguintes substituições:
- MIGRATION_JOB_ID com um identificador legível por máquina para a sua tarefa de migração. Use este valor para trabalhar com tarefas de migração através de comandos da CLI do Google Cloud ou da API do Database Migration Service.
- REGION com o identificador da região onde quer guardar a tarefa de migração.
- MIGRATION_JOB_NAME com um nome legível para a tarefa de migração. Este valor é apresentado no serviço de migração de bases de dados na Google Cloud consola.
- SOURCE_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de ligação de origem.
- DESTINATION_CONNECTION_PROFILE_ID com um identificador legível por máquina do perfil de associação de destino.
- COMMA_SEPARATED_DATABASE_ID_LIST com uma lista separada por vírgulas de identificadores de bases de dados do SQL Server a partir do qual quer migrar os ficheiros de cópia de segurança.
Estes identificadores têm de ser iguais aos nomes das pastas da base de dados no Cloud Storage.
Por exemplo:
--sqlserver-databases=my-business-database,my-other-database
- Configuração da cópia de segurança diferencial: se usar ficheiros de cópia de segurança diferencial para a migração, adicione a flag
--sqlserver-diff-backup
ao seu comando. Por predefinição, as tarefas de migração não usam ficheiros de cópia de segurança diferencial e ignoram a pastadiff
no seu contentor do Cloud Storage.Para mais informações sobre os ficheiros de cópia de segurança suportados, consulte o artigo Tipos de ficheiros de cópia de segurança suportados.
- (Opcional) MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS
com o caminho do disco local para um ficheiro de configuração que mapeia os caminhos para as chaves de encriptação no Cloud Storage
com os respetivos identificadores da base de dados. Para mais informações sobre como criar este ficheiro de mapeamento, consulte o artigo Use cópias de segurança encriptadas.
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
Deve receber uma resposta semelhante à seguinte:
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]
A tarefa de migração foi criada. Pode continuar com o processo de migração:
- (Opcional) Efetue um teste de tarefa de migração para verificar se o serviço de migração de base de dados consegue alcançar todas as entidades de origem e destino necessárias.
- Inicie a tarefa de migração para começar a mover os seus dados para a instância de destino.