Use o Data Transmission Service (DTS) para migrar dados entre instâncias do ApsaraDB RDS for SQL Server.
Escopo de aplicação
-
Antes de começar, crie as instâncias de origem e de destino do ApsaraDB RDS for SQL Server. Para obter informações sobre as versões de banco de dados compatíveis, consulte Overview of migration solutions. Para criar uma instância do ApsaraDB RDS for SQL Server, consulte Create an ApsaraDB RDS for SQL Server instance.
ImportanteSe a instância de origem do ApsaraDB RDS for SQL Server executar o SQL Server 2008 ou 2008 R2, não há suporte para a migração incremental de dados.
-
No modo de análise híbrida baseada em log (ou seja, quando o SQL Server Incremental Synchronization Mode está definido como log-based parsing for non-heap tables and CDC-based incremental synchronization for heap tables), o mecanismo do banco de dados de origem deve ser uma das seguintes versões:
Enterprise ou Enterprise Evaluation: 2012, 2014, 2016, 2019, 2022 ou 2025.
Standard: 2016, 2019, 2022 ou 2025.
A capacidade de armazenamento da instância de destino do ApsaraDB RDS for SQL Server deve ser maior que o espaço de armazenamento utilizado pela instância de origem do ApsaraDB RDS for SQL Server.
-
Se a instância de origem atender a qualquer uma das condições a seguir, considere dividir a migração em várias tarefas.
A instância de origem possui mais de 10 bancos de dados.
Backups de log ocorrem mais de uma vez por hora para um único banco de dados.
Ocorrem mais de 100 operações de Data Definition Language (DDL) por hora em um único banco de dados.
A taxa de geração de log para um único banco de dados excede 20 MB/s.
É necessário ativar o change data capture (CDC) em mais de 1.000 tabelas.
Observações de uso
|
Tipo |
Descrição |
|
Limites do banco de dados de origem |
|
|
Outros limites |
|
|
Casos especiais |
|
Faturamento
|
Tipo de migração |
Taxa de configuração da instância |
Taxa de tráfego de Internet |
|
Migração de schema e migração completa de dados |
Gratuito. |
Quando o parâmetro Access Method do banco de dados de destino está definido como Public IP Address, há cobrança pelo tráfego de Internet. Para mais informações, consulte Billing overview. |
|
Migração incremental de dados |
Há cobrança. Para mais informações, consulte Billing overview. |
Tipos de migração
-
Migração de schema
O DTS migra o schema dos objetos selecionados do banco de dados de origem para o banco de dados de destino.
-
Migração completa de dados
O DTS migra todos os dados existentes dos objetos selecionados do banco de dados de origem para o banco de dados de destino.
-
Migração incremental de dados
Após a migração completa de dados, o DTS migra as atualizações incrementais do banco de dados de origem para o banco de dados de destino. Isso permite uma migração tranquila, sem interromper as aplicações.
Operações SQL para migração incremental
|
Tipo de operação |
Instrução SQL |
|
DML |
INSERT, UPDATE e DELETE Nota
O DTS não suporta a migração de instruções |
|
DDL |
Nota
|
Requisitos de permissão para contas de banco de dados
|
Banco de dados |
Migração de schema |
Migração completa de dados |
Migração incremental de dados |
Referências |
|
Instância de origem |
Permissões de leitura |
Permissões de leitura |
Permissões de Owner nos objetos a serem migrados |
Para mais informações, consulte Create databases and accounts. |
|
Instância de destino |
Permissões de leitura e gravação |
Permissões de leitura e gravação |
Permissões de leitura e gravação |
Procedimento
-
Acesse a página da lista de tarefas de migração para a região de destino usando um dos seguintes métodos.
Pelo console do DTS
Faça login no console do Data Transmission Service (DTS).
No painel de navegação à esquerda, clique em Data Migration.
No canto superior esquerdo da página, selecione a região onde a instância de migração está localizada.
Pelo console do DMS
NotaAs operações reais podem variar com base no modo e no layout do console do DMS. Para mais informações, consulte Simple mode console e Customize the layout and style of the DMS console.
Faça login no console do Data Management (DMS).
Na barra de menu superior, escolha .
À direita de Data Migration Tasks, selecione a região onde a instância de migração está localizada.
Clique em Create Task e acesse a página de configuração da tarefa.
-
Opcional: No canto superior direito da página, clique em New Configuration Page.
NotaSe já estiver na nova página de configuração (o botão no canto superior direito é Back to Previous Version), pule esta etapa.
Os parâmetros nas páginas de configuração nova e antiga são diferentes. Recomendamos o uso da nova página de configuração.
-
Configure os bancos de dados de origem e de destino.
Seção
Parâmetro
Descrição
N/A
Task Name
O DTS gera automaticamente um nome de tarefa. Recomendamos especificar um nome descritivo para fácil identificação. O nome não precisa ser único.
Source Database
Select Existing Connection
Para usar uma instância de banco de dados que foi added to the system (criada ou salva), selecione a instância de banco de dados desejada na lista suspensa. As informações do banco de dados abaixo serão configuradas automaticamente.
NotaNo console do DMS, este parâmetro tem o nome Select a DMS database instance..
Se não registrou a instância de banco de dados no sistema ou não precisa usar uma instância registrada, configure manualmente as informações do banco de dados abaixo.
Database Type
Selecione SQL Server.
Access Method
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região onde a instância de origem do ApsaraDB RDS for SQL Server está localizada.
Cross-account
Selecione No se a instância de origem estiver na mesma conta da Alibaba Cloud. Caso contrário, selecione Yes.
RDS Instance ID
Selecione o ID da instância de origem do ApsaraDB RDS for SQL Server.
Database Account
Agora, insira a conta da instância de origem do ApsaraDB RDS for SQL Server. Para obter informações sobre as permissões necessárias, consulte Permissions required for database accounts.
Database Password
Insira a senha da conta do banco de dados.
Encryption
Selecione Non-encrypted ou SSL-encrypted com base nos seus requisitos de negócios.
-
Se a criptografia SSL estiver desativada para o banco de dados de origem, selecione Non-encrypted.
-
Se a criptografia SSL estiver ativada para o banco de dados de origem, selecione SSL-encrypted. Por padrão, o DTS confia no certificado do servidor.
Destination Database
Select Existing Connection
Para usar uma instância de banco de dados que foi added to the system (criada ou salva), selecione a instância de banco de dados desejada na lista suspensa. As informações do banco de dados abaixo serão configuradas automaticamente.
NotaNo console do DMS, este parâmetro tem o nome Select a DMS database instance..
Se não registrou a instância de banco de dados no sistema ou não precisa usar uma instância registrada, configure manualmente as informações do banco de dados abaixo.
Database Type
Selecione SQL Server.
Access Method
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região onde a instância de destino do ApsaraDB RDS for SQL Server está localizada.
Instance ID
Selecione o ID da instância de destino do ApsaraDB RDS for SQL Server.
Database Account
Insira a conta da instância de destino do ApsaraDB RDS for SQL Server. Para obter informações sobre as permissões necessárias, consulte Permissions required for database accounts.
Database Password
Insira a senha da conta do banco de dados.
Encryption
Selecione Non-encrypted ou SSL-encrypted com base nos seus requisitos de negócios.
-
Se a criptografia SSL estiver desativada para o banco de dados de destino, selecione Non-encrypted.
-
Se a criptografia SSL estiver ativada para o banco de dados de destino, selecione SSL-encrypted. Por padrão, o DTS confia no certificado do servidor.
-
Após concluir a configuração, clique em Test Connectivity and Proceed na parte inferior da página.
NotaCertifique-se de que o segmento de endereços IP do service DTS seja adicionado automática ou manualmente às configurações de segurança dos bancos de dados de origem e de destino para permitir o acesso dos servidores do DTS. Para mais informações, consulte Add DTS server IP addresses to a whitelist.
Se o banco de dados de origem ou de destino for um banco de dados autogerenciado (o Access Method não é Alibaba Cloud Instance), clique também em Test Connectivity na caixa de diálogo CIDR Blocks of DTS Servers que aparece.
-
Configure os objetos da tarefa.
-
Na página Configure Objects, configure os objetos a serem migrados.
Parâmetro
Descrição
Migration Types
Se precisar realizar apenas uma migração completa, selecione Schema Migration e Full Data Migration.
Para realizar uma migração sem tempo de inatividade, selecione Schema Migration, Full Data Migration e Incremental Data Migration.
NotaSe não selecionar Schema Migration, garanta que exista um banco de dados e tabelas para receber os dados no banco de dados de destino. Você também pode usar o recurso de mapeamento de nomes de objetos na caixa Selected Objects conforme necessário.
Se não selecionar Incremental Data Migration, não grave novos dados na instância de origem durante a migração de dados para garantir a consistência dos dados.
Method to Migrate Triggers in Source Database
Selecione um método para migrar gatilhos com base nos seus requisitos de negócios. Se não migrar gatilhos, pule este parâmetro. Para mais informações, consulte Configure how to synchronize or migrate triggers.
NotaEste parâmetro está disponível apenas se selecionar Schema Migration e Incremental Data Migration para Migration Types.
SQL Server Incremental Synchronization Mode
Log-based Parsing for Non-heap Tables and CDC-based Incremental Synchronization for Heap Tables (Hybrid Log-based Parsing):
Vantagens:
Suporta cenários que envolvem tabelas heap de origem, tabelas sem chaves primárias, tabelas compactadas ou tabelas com colunas computadas.
Oferece alta estabilidade de link. Este modo pode obter instruções DDL completas e suporta uma ampla variedade de cenários DDL.
Desvantagens:
O DTS cria o gatilho
dts_cdc_sync_ddl, a tabela de heartbeatdts_sync_progresse a tabela de armazenamento de DDLdts_cdc_ddl_historyno banco de dados de origem. Ele também ativa o CDC no nível do banco de dados e o CDC para algumas tabelas.Não é possível executar instruções
SELECT INTO,TRUNCATEouRENAME COLUMNem tabelas com o CDC ativado no banco de dados de origem. Não é possível que você exclua manualmente os gatilhos criados pelo DTS no banco de dados de origem.
Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported):
Vantagem:
Este modo não é intrusivo para o banco de dados de origem.
Desvantagem:
Este modo não suporta cenários que envolvem tabelas heap de origem, tabelas sem chaves primárias, tabelas compactadas ou tabelas com colunas computadas.
Polling and querying CDC instances for incremental synchronization:
Vantagens:
Suporta migração completa e incremental quando o banco de dados de origem é Amazon RDS for SQL Server, Azure SQL Database, Azure SQL Managed Instance, Azure SQL Server on Virtual Machine ou Google Cloud SQL for SQL Server.
Este modo usa o componente CDC nativo do SQL Server para obter dados incrementais, o que melhora a estabilidade da migração incremental e reduz o uso de largura de banda de rede.
Desvantagens:
A conta do banco de dados de origem usada pela instância do DTS deve ter as permissões para ativar o CDC. A migração incremental de dados tem uma latência de cerca de 10 segundos.
Ao migrar várias tabelas em vários bancos de dados, poderão ocorrer problemas de estabilidade e desempenho.
NotaEste parâmetro está disponível apenas se Incremental Data Migration estiver selecionado para Migration Types.
The maximum number of tables for which CDC is enabled that DTS supports.
É possível definir um limite para o número de tabelas com CDC ativado para a instância de migração atual com base nos seus requisitos de negócios. O valor padrão é 1.000.
NotaEste parâmetro não está disponível se definir o SQL Server Incremental Synchronization Mode como Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported).
Processing Mode of Conflicting Tables
Precheck and Report Errors: Verifica se existem tabelas com os mesmos nomes no banco de dados de destino. Se não existirem tabelas com os mesmos nomes, a pré-verificação é aprovada. Se existirem, um erro é relatado durante a pré-verificação e a tarefa de migração de dados não é iniciada.
NotaSe uma tabela no banco de dados de destino tiver o mesmo nome, mas não puder ser facilmente excluída ou renomeada, altere o nome da tabela no banco de dados de destino. Para mais informações, consulte Object name mapping.
Ignore Errors and Proceed: Ignora a verificação de tabelas com os mesmos nomes.
AvisoSelecionar Ignore Errors and Proceed pode causar inconsistência de dados e riscos aos negócios. Por exemplo:
Se os schemas das tabelas forem consistentes e um registro no banco de dados de destino tiver o mesmo valor de chave primária que um registro no banco de dados de origem:
Durante a migração completa, o DTS mantém o registro no banco de dados de destino. O registro do banco de dados de origem não é migrado.
Durante a migração incremental, o DTS não mantém o registro no banco de dados de destino. O registro do banco de dados de origem sobrescreve o registro no banco de dados de destino.
Se os schemas das tabelas forem inconsistentes, apenas algumas colunas de dados poderão ser migradas, ou a migração poderá falhar. Prossiga com cautela.
Source Objects
Na caixa Source Objects, clique nos objetos a serem migrados e, em seguida, clique em
para movê-los para a caixa Selected Objects.NotaA granularidade para seleção de objetos de migração é schema, tabela e coluna. Se selecionar apenas tabelas ou colunas como objetos de migração, outros objetos, como exibições, gatilhos e procedimentos armazenados, não serão migrados para o banco de dados de destino.
Selected Objects
-
Para alterar o nome de um único objeto de migração na instância de destino, clique com o botão direito do mouse no objeto na caixa Selected Objects. Para mais informações, consulte Map individual schema, table, and column names.
-
Para alterar os nomes de vários objetos de migração na instância de destino, clique em Selected Objects no canto superior direito da caixa Batch Edit. Para mais informações, consulte Map multiple schema, table, and column names.
Nota-
Se usar o recurso de mapeamento de nomes de objetos, outros objetos dependentes do objeto renomeado poderão falhar na migração.
-
Para filtrar dados usando condições WHERE, clique com o botão direito do mouse em uma tabela na seção Selected Objects e especifique as condições de filtro na caixa de diálogo que aparece. Para mais informações, consulte Set filter conditions.
-
Para selecionar as operações SQL a serem migradas no nível do banco de dados ou da tabela, clique com o botão direito do mouse em um objeto na seção Selected Objects e selecione as operações SQL desejadas na caixa de diálogo que aparece. Para obter informações sobre as operações compatíveis, consulte Supported SQL operations for incremental migration.
-
Clique em Next: Advanced Settings para configurar parâmetros avançados.
Parâmetro
Descrição
Dedicated Cluster for Task Scheduling
Por padrão, o DTS agenda tarefas em um cluster compartilhado. Você não precisa selecionar um. Se desejar tarefas mais estáveis, adquira um dedicated cluster para executar tarefas de migração do DTS.
Retry Time for Failed Connections
Após o início da tarefa de migração, se a conexão com o banco de dados de origem ou de destino falhar, o DTS relatará um erro e começará imediatamente a tentar reconectar. A duração padrão de nova tentativa é de 720 minutos. Você pode personalizar o tempo de nova tentativa para um valor de 10 a 1440 minutos. Recomendamos definir a duração para mais de 30 minutos. Se o DTS reconectar aos bancos de dados de origem e de destino dentro da duração especificada, a tarefa de migração é retomada automaticamente. Caso contrário, a tarefa falhará.
NotaPara várias instâncias do DTS que compartilham a mesma origem ou destino, o tempo de nova tentativa de rede é determinado pela configuração da última tarefa criada.
Como há cobrança pela tarefa durante o período de nova tentativa de conexão, recomendamos personalizar o tempo de nova tentativa com base nas suas necessidades de negócios ou liberar a instância do DTS o mais rápido possível após a liberação das instâncias de banco de dados de origem e de destino.
Retry Time for Other Issues
Após o início da tarefa de migração, se ocorrer um problema de não conectividade, como uma exceção de execução DDL ou DML, no banco de dados de origem ou de destino, o DTS relatará um erro e começará imediatamente a tentar repetir a operação. A duração padrão de nova tentativa é de 10 minutos. Você pode personalizar o tempo de nova tentativa para um valor de 1 a 1440 minutos. Recomendamos definir a duração para mais de 10 minutos. Se as operações relacionadas forem bem-sucedidas dentro da duração de nova tentativa especificada, a tarefa de migração é retomada automaticamente. Caso contrário, a tarefa falhará.
ImportanteO valor de Retry Time for Other Issues deve ser menor que o valor de Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Durante a migração completa, o DTS consome recursos de leitura e gravação nos bancos de dados de origem e de destino, o que pode aumentar a carga do banco de dados. Se necessário, ative o limitador para a tarefa de migração completa. Defina Queries per second (QPS) to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s) para reduzir a carga no banco de dados de destino.
NotaEste item de configuração está disponível apenas se selecionar Full Data Migration para Migration Types.
Você também pode adjust the full migration speed depois que a instância de migração estiver em execução.
Enable Throttling for Incremental Data Migration
Se necessário, também é possível definir limites de velocidade para a tarefa de migração incremental. Defina RPS of Incremental Data Migration e Data migration speed for incremental migration (MB/s) para reduzir a carga no banco de dados de destino.
NotaEste item de configuração está disponível apenas se selecionar Incremental Data Migration para Migration Types.
Você também pode adjust the incremental migration speed depois que a instância de migração estiver em execução.
Environment Tag
Selecione uma tag de ambiente para identificar a instância com base nos seus requisitos de negócios. Neste exemplo, esse parâmetro não é necessário.
Configure ETL
Com base nas suas necessidades de negócios, escolha se deseja configurar o ETL feature para processar dados.
Yes: Configura o recurso ETL. Insira também data processing statements na caixa de texto.
No: Não configura o recurso ETL.
Monitoring and Alerting
Escolha se deseja definir alertas e receber notificações de alerta com base nas suas necessidades de negócios.
No: Não define alerta.
Yes: Configure alertas definindo um alert threshold e um alert notifications. Se a migração falhar ou a latência exceder o limiar, o sistema envia uma notificação de alerta.
-
Clique em Next Data Verification para configurar uma tarefa de verificação de dados.
Para mais informações sobre o recurso de verificação de dados, consulte Configure data validation.
-
-
Por favor, salve a tarefa e execute uma pré-verificação.
Para que você visualize os parâmetros de configuração desta instância ao chamar a operação da API, passe o ponteiro do mouse sobre o botão Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters na dica exibida.
Se não precisar visualizar ou já tiver terminado de visualizar os parâmetros da API, clique em Next: Save Task Settings and Precheck na parte inferior da página.
NotaAntes de iniciar a tarefa de migração, o DTS realiza uma pré-verificação. A tarefa só inicia após a aprovação na pré-verificação.
Se a pré-verificação falhar, clique em View Details ao lado do item de verificação com falha, corrija o problema com base na instrução e execute a pré-verificação novamente.
-
Se um aviso for relatado durante a pré-verificação:
Para itens de verificação que não podem ser ignorados, clique em View Details ao lado do item com falha, corrija o problema com base na instrução e execute a pré-verificação novamente.
Para itens de verificação que podem ser ignorados, clique em Confirm Alert Details para que você confirme a ação, em seguida clique em Ignore, OK e Precheck Again para pular o item de aviso e executar a pré-verificação novamente. Se optar por ignorar um aviso, isso poderá causar problemas como inconsistência de dados e apresentar riscos aos seus negócios.
-
Adquira a instância.
Quando a Success Rate atingir 100%, clique em Next: Purchase Instance.
-
Na página Purchase, selecione a especificação de link para a instância de migração de dados. Para mais informações, consulte a tabela a seguir.
Categoria
Parâmetro
Descrição
New Instance Class
Resource Group Settings
Selecione o grupo de recursos ao qual a instância pertence. O valor padrão é default resource group. Para mais informações, consulte What is resource management?
Instance Class
O DTS fornece especificações de migração com diferentes níveis de desempenho. A especificação do link afeta a velocidade de migração. Selecione uma especificação com base no seu cenário de negócios. Para mais informações, consulte Data migration link specifications.
Após concluir a configuração, leia e selecione Data Transmission Service (Pay-as-you-go) Service Terms.
-
Clique em Buy and Start. Na caixa de diálogo OK que aparece, clique em OK.
Acompanhe o progresso da tarefa de migração na página de lista Data Migration Tasks.
NotaSe a tarefa de migração não incluir migração incremental, ela é interrompida automaticamente após a conclusão da migração completa. Após a interrupção da tarefa, seu Status muda para Completed.
Se a tarefa de migração incluir migração incremental, ela não é interrompida automaticamente. A tarefa de migração incremental continua em execução. Enquanto a tarefa de migração incremental estiver em execução, o Status da tarefa é Running.