Esta página descreve como migrar seus bancos de dados do Cloud SQL para SQL Server para a instância do Cloud SQL para SQL Server com o Database Migration Service. Com esse fluxo de migração, é possível mover seus bancos de dados para outro Cloud SQL para SQL Server no mesmo projeto, ou em um projeto diferente, Google Cloud . Para instruções sobre como migrar de fontes auto-hospedadas ou do Amazon RDS, consulte Guia de migração para fontes auto-hospedadas e do Amazon RDS.
O processo de migração para fontes do Cloud SQL para SQL Server envolve as seguintes tarefas:
Configurar a instância de origem do Cloud SQL para SQL Server para que o Database Migration Service possa exportar automaticamente arquivos de backup para um bucket do Cloud Storage.
Criar um perfil de conexão de origem com a Google Cloud CLI.
Criar a instância de destino do Cloud SQL para SQL Server.
Criar e executar o job de migração no Database Migration Service com a Google Cloud CLI.
Monitorar o progresso do job de migração com os recursos de observabilidade do Database Migration Service.
Promover o job de migração após a migração completa dos dados.
Custos
Para migrações homogêneas para o Cloud SQL, o Database Migration Service é oferecido sem custo adicional. No entanto, os preços do Cloud SQL e do Cloud Storage são válidos para cobranças de rede, bem como para entidades do Cloud SQL e do Cloud Storage criadas para fins de migração.
Neste documento, você usará os seguintes componentes faturáveis do Google Cloud
- Cloud Storage
- Cloud SQL
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Antes de começar
- Verifique se esse caminho de migração oferece suporte total ao seu cenário. Consulte Limitações conhecidas do SQL Server.
- Considere em qual região você quer criar o banco de dados de destino. O Database Migration Service é um produto totalmente regional, o que significa que todas as entidades relacionadas à migração (perfis de conexão de origem e destino, jobs de migração, bancos de dados de destino, buckets de armazenamento) precisam ser salvas em uma única região.
- 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 realizar migrações homogêneas entre duas instâncias do Cloud SQL para SQL Server com o Database Migration Service, peça ao administrador para conceder os papéis do IAM necessários às contas envolvidas no processo de migração nos projetos relevantes.
Esse cenário permite migrar entre duas instâncias do Cloud SQL para SQL Server que residem em projetos diferentes Google Cloud . Se você quiser migrar entre instâncias no mesmo projeto, conceda todas as permissões no mesmo projeto. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Papéis e permissões no projeto de origem
Conceda os seguintes papéis a contas específicas no Google Cloud projeto em que a instância de origem do Cloud SQL para SQL Server reside:
- Conta de usuário que realiza a migração:
-
Administrador de armazenamento (
roles/storage.admin) -
Editor do Cloud SQL (
roles/cloudsql.editor)
-
Administrador de armazenamento (
- Conta de serviço do Database Migration Service do projeto da instância de destino :
-
Leitor do Cloud SQL (
roles/cloudsql.viewer) -
Usuário do Cloud SQL Studio (
roles/cloudsql.studioUser)
-
Leitor do Cloud SQL (
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 (projeto de origem):
Permissões necessárias (projeto de origem)
As seguintes permissões são necessárias para realizar migrações homogêneas do SQL Server com o Database Migration Service:
- Conta de usuário que realiza a migração:
resourcemanager.projects.getresourcemanager.projects.listcloudsql.operations.getcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.instances.importcloudsql.databases.getcloudsql.databases.listcloudsql.databases.deletecompute.machineTypes.listcompute.machineTypes.getcompute.projects.getstorage.buckets.createstorage.buckets.list
- Conta de serviço do Database Migration Service do projeto de destino:
cloudsql.instances.exportcloudsql.instances.getcloudsql.instances.listcloudsql.instances.executeSql
Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.
Papéis e permissões no projeto de destino
Conceda os seguintes papéis a contas específicas no Google Cloud projeto em que a instância de destino do Cloud SQL para SQL Server reside:
- Conta de usuário que realiza a migração:
-
Administrador de migração de banco de dados (
roles/datamigration.admin) -
Administrador de armazenamento (
roles/storage.admin) -
Editor do Cloud SQL (
roles/cloudsql.editor)
-
Administrador de migração de banco de dados (
- Conta de serviço do Database Migration Service do projeto da instância de destino:
-
Administrador de migração de banco de dados (
roles/datamigration.admin) -
Editor do Cloud SQL (
roles/cloudsql.editor) -
Usuário do Cloud SQL Studio (
roles/cloudsql.studioUser)
-
Administrador de migração de banco de dados (
- Conta de serviço do Cloud SQL associada à instância de origem:
Usuário de objetos do Storage (
roles/storage.objectUser)Essa permissão é necessária para que a instância de origem do Cloud SQL para SQL Server salve arquivos de backup exportados para o bucket do Cloud Storage que você cria no projeto de destino.
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 (projeto de destino):
Permissões necessárias (projeto de destino)
As seguintes permissões são necessárias para realizar migrações homogêneas do SQL Server com o Database Migration Service:
- Conta de usuário que realiza a migração:
datamigration.*resourcemanager.projects.getresourcemanager.projects.listcloudsql.operations.getcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.instances.importcloudsql.databases.getcloudsql.databases.listcloudsql.databases.deletecompute.machineTypes.listcompute.machineTypes.getcompute.projects.getstorage.buckets.createstorage.buckets.list
- Conta de serviço do Database Migration Service:
datamigration.*resourcemanager.projects.getresourcemanager.projects.listcloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.instances.executeSqlstorage.objects.createstorage.objects.list
- Conta de serviço do Cloud SQL associada à instância de origem :
storage.objects.createstorage.objects.liststorage.objects.get
Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.
Preparar a instância de origem do Cloud SQL
Crie um bucket do Cloud Storage no projeto de destino Google Cloud . Esse bucket é usado para armazenar arquivos de registro de backup exportados da instância de origem do Cloud SQL para SQL Server.
- Recomendamos configurar o período de armazenamento de dados entre
14e30dias para esses arquivos de backup. - A conta de serviço do Cloud SQL associada à instância de origem
precisa do
papel do IAM de Usuário de objetos do Storage (
roles/storage.objectUser) para gravar os arquivos de backup nesse bucket. Para mais informações sobre permissões para esse fluxo de migração, consulte a seção Funções necessárias.
- Recomendamos configurar o período de armazenamento de dados entre
Configure a instância de origem do Cloud SQL para SQL Server.
Crie um perfil de conexão de origem para a instância de origem do Cloud SQL para SQL Server.
Preparar a instância de destino do Cloud SQL para SQL Server
Para configurar a instância de destino do Cloud SQL, siga estas etapas:
Crie e configure a instância de destino do Cloud SQL para SQL Server. Use recursos de computação e memória suficientes para atender às necessidades de migração.
Crie um perfil de conexão de destino para a instância do Cloud SQL.
Criar e executar o job de migração
Quando você inicia o job de migração, os bancos de dados de destino do Cloud SQL para SQL Server são colocados no modo de recuperação, em que são totalmente gerenciados pelo Database Migration Service. É possível promover a instância de destino quando os dados forem totalmente migrados. Depois que a instância de destino é promovida, todos os bancos de dados nela ficam totalmente operacionais. Você também ganha acesso total de gravação a esses bancos de dados.
Finalizar a migração
Quando você decidir mudar seu aplicativo para a nova instância do Cloud SQL para SQL Server, finalize a migração seguindo estas etapas:
- Interrompa todas as operações de gravação nos bancos de dados de origem. É possível alterná-los para o modo somente leitura para manter a funcionalidade operacional.
- Promova o job de migração.
- (Opcional) Verifique se os dados de migração estão completos.