Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Migrar dados entre instâncias do ApsaraDB RDS for SQL Server

Última atualização: Jun 29, 2026

Use o Data Transmission Service (DTS) para migrar bancos de dados entre instâncias do ApsaraDB RDS for SQL Server com tempo de inatividade mínimo ou nulo. O DTS oferece suporte a três tipos de migração: migração de esquema, migração completa de dados e migração incremental de dados. Você pode combiná-los conforme sua tolerância a indisponibilidade.

Escolha uma abordagem de migração

Abordagem

Tipos de migração

Tempo de inatividade

Migração completa

Migração de esquema + Migração completa de dados

Necessário durante o cutover

Migração com tempo de inatividade mínimo

Migração de esquema + Migração completa de dados + Migração incremental de dados

Quase zero

Se você pular a migração de esquema: Certifique-se de que o banco de dados de destino já contenha os bancos de dados e as tabelas necessários antes de iniciar a tarefa.

Se você pular a migração incremental de dados: Não grave na instância de origem durante a migração. Caso contrário, os bancos de dados de origem e destino ficarão inconsistentes.

Pré-requisitos

Antes de começar, verifique se você:

Faturamento

Tipo de migração

Taxa de configuração da instância

Taxa de tráfego de internet

Migração de esquema + Migração completa de dados

Gratuita

Cobrada quando o Access Method está definido como Public IP Address. Consulte Visão geral do faturamento

Migração incremental de dados

Cobrada. Consulte Visão geral do faturamento

Permissões necessárias

Garanta que as contas de banco de dados das instâncias de origem e de destino tenham as permissões listadas abaixo. Para criar ou modificar contas, consulte criar uma conta e modificar permissões da conta.

Banco de dados Migração de esquema Migração completa Migração incremental
Instância de origem Leitura Leitura Owner nos objetos a serem migrados
Instância de destino Leitura e gravação

Limitações e notas de uso

Revise todas as limitações antes de configurar a tarefa de migração. Ignorá-las pode causar falha na tarefa, inconsistência de dados ou perda de dados.

Limites de escala

  • Uma única tarefa de migração suporta até 10 bancos de dados. Exceder esse limite causa problemas de estabilidade e desempenho. Divida os bancos de dados em várias tarefas, se necessário.

  • Na migração incremental, mantenha o número de tabelas do banco de dados de origem abaixo de 1.000. Ultrapassar esse valor gera latência ou instabilidade na tarefa.

  • Ao usar o mapeamento de nomes de objetos para renomear tabelas no destino, uma única tarefa suporta até 1.000 tabelas. Exceder esse limite resulta em erro de requisição. Divida as tarefas ou migre o banco de dados inteiro.

  • Divida em múltiplas tarefas se alguma das condições a seguir se aplicar à instância de origem:

    • Mais de 10 bancos de dados

    • Frequência de backup de log superior a uma vez por hora para um único banco de dados

    • Frequência de DDL superior a 100 por hora para um único banco de dados

    • Volume de log superior a 20 MB/s para um único banco de dados

  • Se o banco de dados de origem for Enterprise Edition, ele deve ser versão 2008 ou posterior. Se for Standard Edition, deve ser versão 2016 SP1 ou posterior.

  • Caso o banco de dados de origem seja SQL Server 2017 (incluindo Standard Edition e Enterprise Edition), recomendamos atualizar para uma versão mais recente.

Requisitos de estrutura de tabela

  • As tabelas a serem migradas devem ter restrições PRIMARY KEY ou UNIQUE com todos os campos únicos. Caso contrário, o banco de dados de destino poderá conter registros duplicados.

  • Se o modo de sincronização incremental estiver definido como Incremental synchronization based on logs of source database (heap tables are not supported), as tabelas devem ter índices clusterizados que incluam colunas de chave primária. Tabelas heap, tabelas sem chaves primárias, tabelas compactadas e tabelas com colunas computadas não são suportadas.

  • Quando o modo de sincronização incremental for Hybrid log-based parsing, as limitações de estrutura de tabela acima não se aplicam, mas os jobs de Change Data Capture (CDC) no banco de dados de origem devem estar em execução adequada.

  • Não é possível ativar CDC para tabelas com índices columnstore clusterizados.

Restrições de operações DDL

  • Não execute operações DDL (como modificar estruturas de tabela ou banco de dados) durante a migração de esquema ou a migração completa de dados. A tarefa falhará.

  • Evite executar operações contínuas de adição ou remoção de colunas durante a migração incremental. Mais de duas operações DDL de adição ou remoção de coluna em um minuto podem causar falha na tarefa. Mantenha intervalos superiores a 10 minutos entre essas operações.

  • O DTS não consegue migrar operações DDL na chave primária de uma tabela com CDC ativado.

  • O DTS não migra: DDL transacional (DDL de múltiplas colunas ou DDL combinado com DML em uma única instrução), DDL com tipos definidos pelo usuário, DDL online, DDL em objetos cujos nomes contenham palavras-chave reservadas ou DDL executado via procedimentos armazenados do sistema.

Restrição de reindexação

Não realize operações de reindexação durante a migração incremental de dados. A tarefa pode falhar e ocorrer perda de dados.

Tipos de dados não suportados

Os seguintes tipos de dados não são suportados: CURSOR, ROWVERSION, SQL_VARIANT, HIERARCHYID, POLYGON, GEOMETRY, GEOGRAPHY.

Requisitos de retenção de log

  • Apenas migração incremental: retenha os logs do banco de dados de origem por mais de 24 horas

  • Migração completa + migração incremental de dados: retenha os logs por pelo menos 7 dias (após a conclusão da migração completa, esse período pode ser reduzido para mais de 24 horas)

  • Para tarefas de migração incremental, os logs de dados do banco de dados de origem devem estar habilitados, o modo de backup deve estar definido como Full e um backup físico completo deve ter sido concluído com êxito.

Requisitos de configuração do CDC

  • Se for necessário ativar o CDC nas tabelas de origem, o campo srvname na view sys.sysservers deve corresponder ao valor retornado pela função SERVERPROPERTY.

  • Se o banco de dados de origem for ApsaraDB RDS for SQL Server, o proprietário do banco de dados deve ser sqlsa.

  • O componente CDC retém dados incrementais por 3 dias por padrão. Ajuste esse valor conforme suas necessidades de negócio.

  • Se a média diária de alterações SQL incrementais para uma única tabela exceder 10 milhões, defina o tempo de retenção do CDC para 1.440 minutos (1 dia).

  • Caso um único campo em uma tabela com CDC ativado precise gravar dados superiores a 64 KB, execute o seguinte comando no banco de dados de origem antes de iniciar a tarefa:

    EXEC sp_configure 'max text repl size', -1;

Triggers e chaves estrangeiras

Se a tarefa de migração incluir migração incremental de dados, desative todos os triggers e chaves estrangeiras no banco de dados de destino antes de começar. Caso contrário, a tarefa poderá falhar ou haver perda de dados.

Nomenclatura de banco de dados

Se o nome do banco de dados a ser migrado não estiver em conformidade com as convenções de nomenclatura do ApsaraDB RDS for SQL Server, crie o banco de dados manualmente na instância de destino antes de configurar a tarefa de migração.

Transparent Data Encryption (TDE)

Se o banco de dados de origem for ApsaraDB RDS for SQL Server e a tarefa incluir migração incremental, desative o TDE para garantir a operação estável da instância de migração.

Contas de sistema do DTS

Não exclua nem modifique contas de sistema do DTS (como rdsdt_dtsacct) durante a execução da tarefa. A tarefa falhará.

Retomada automática de tarefa e risco de cutover

O DTS tenta retomar automaticamente tarefas de migração que falharam nos últimos 7 dias. Antes de alternar as cargas de trabalho para a instância de destino, encerre ou libere a tarefa, ou revogue as permissões de gravação da conta do DTS na instância de destino. Caso contrário, os dados na instância de destino poderão ser sobrescritos.

Outras observações

  • Certifique-se de que o servidor que hospeda o banco de dados de origem tenha largura de banda de saída suficiente. Largura de banda insuficiente reduz a velocidade da migração. Recomendamos realizar tarefas de migração fora dos horários de pico para evitar aumento na carga do banco de dados.

  • Para migração entre versões diferentes, verifique a compatibilidade antecipadamente. Consulte Diferenças de recursos entre versões do ApsaraDB RDS for SQL Server.

  • Durante a análise baseada em log híbrida, o DTS cria os seguintes objetos no banco de dados de origem: o trigger dts_cdc_sync_ddl, a tabela de heartbeat dts_sync_progress e a tabela de armazenamento de DDL dts_cdc_ddl_history. Esses objetos não podem ser excluídos manualmente.

  • Durante a migração completa de dados, ative o modo de isolamento de transação READ_COMMITTED_SNAPSHOT no banco de dados de origem para evitar que bloqueios compartilhados afetem as operações de gravação.

  • Após a conclusão da migração completa de dados, o armazenamento da tabela de destino pode ser maior que o da origem devido à fragmentação causada por operações INSERT concorrentes.

  • A migração incremental de dados não é suportada quando a versão do banco de dados de origem é ApsaraDB RDS for SQL Server 2008 ou 2008 R2.

Clique em para expandir todos os limites e notas

Nota

O DTS não migra chaves estrangeiras do banco de dados de origem para o banco de dados de destino. Portanto, operações como exclusão em cascata no banco de dados de origem não são migradas para o banco de dados de destino.

Tipo

Descrição

Limites do banco de dados de origem

  • O servidor do banco de dados de origem deve ter largura de banda de saída suficiente. Largura de banda insuficiente reduz a velocidade da migração de dados.

  • As tabelas a serem migradas devem ter uma chave primária ou restrição única, e as colunas na chave ou restrição devem ser únicas. Caso contrário, pode ocorrer duplicação de dados no banco de dados de destino.

  • Se você selecionar tabelas específicas para migração e precisar editá-las (por exemplo, mapear nomes de tabelas ou colunas), uma única tarefa de migração pode migrar no máximo 1.000 tabelas. Se você exceder esse limite, a tarefa falhará no envio. Divida as tabelas em várias tarefas ou configure uma tarefa para migrar o banco de dados inteiro.

  • Uma única tarefa de migração suporta no máximo 10 bancos de dados. Exceder esse limite pode causar problemas de estabilidade e desempenho. Divida a migração em várias tarefas, se necessário.

  • Se você configurar uma tarefa para migrar objetos específicos em vez de um banco de dados inteiro, não será possível migrar objetos que tenham o mesmo nome de tabela, mas nomes de esquema diferentes, para o mesmo banco de dados de destino dentro de uma única tarefa.

  • Se você realizar migração incremental de dados, os logs de transação devem atender aos seguintes requisitos:

    • O registro de transações deve estar habilitado, o modo de backup deve estar definido como Full e um backup físico completo deve ter sido realizado com êxito.

    • Para migração de dados apenas incremental, o Data Transmission Service (DTS) exige a retenção dos logs de transação do banco de dados de origem por mais de 24 horas. Se uma tarefa incluir migração completa e incremental de dados, retenha os logs por pelo menos sete dias. Após a conclusão da migração completa de dados, você pode reduzir o período de retenção para mais de 24 horas. Caso contrário, a tarefa do DTS pode falhar devido a logs de transação indisponíveis. Em casos extremos, pode ocorrer inconsistência ou perda de dados. Problemas causados por retenção insuficiente de logs não são cobertos pelo Acordo de Nível de Serviço (SLA) do DTS.

  • Se você ativar o CDC (change data capture) para as tabelas de origem a serem migradas, elas devem atender às seguintes condições. Caso contrário, a pré-verificação falhará.

    • O valor do campo srvname na view sys.sysservers deve ser igual ao valor retornado pela função SERVERPROPERTY.

    • Se o banco de dados de origem for um SQL Server autogerenciado, o proprietário do banco de dados deve ser sa. Se o banco de dados de origem for uma instância do ApsaraDB RDS for SQL Server, o proprietário do banco de dados deve ser sqlsa.

    • Se o banco de dados de origem for Enterprise Edition, deve ser SQL Server 2008 ou posterior.

    • Se o banco de dados de origem for Standard Edition, deve ser SQL Server 2016 SP1 ou posterior.

    • Se o banco de dados de origem for SQL Server 2017 (Standard ou Enterprise Edition), atualize-o para uma versão posterior.

  • O DTS usa a função fn_log para obter logs do banco de dados de origem. Essa função tem gargalos de desempenho, portanto, não limpe os logs do banco de dados de origem prematuramente. Caso contrário, a tarefa do DTS pode falhar.

  • Limites nas operações no banco de dados de origem:

    • Durante as fases de migração de esquema e migração completa de dados, não execute operações DDL que alterem a estrutura do banco de dados ou da tabela. Caso contrário, a tarefa de migração de dados falhará.

    • Se você realizar apenas a migração completa de dados, não grave novos dados na instância de origem. Caso contrário, os dados nos bancos de dados de origem e destino ficarão inconsistentes. Para garantir consistência de dados em tempo real, selecione Migração de Esquema, Migração Completa de Dados e Migração Incremental de Dados.

  • Se o banco de dados de origem for uma instância somente leitura, o DTS não migrará operações DDL.

  • Se o banco de dados de origem for um Azure SQL Database, uma instância de migração pode migrar apenas um banco de dados.

  • Se o banco de dados de origem for uma instância do ApsaraDB RDS for SQL Server e a tarefa de migração incluir migração incremental de dados, garanta que o Transparent Data Encryption (TDE) esteja desativado para garantir a estabilidade da tarefa. Para mais informações, consulte Desativar TDE.

  • Se você usar o comando sp_rename para renomear objetos como procedimentos armazenados antes da execução da tarefa de migração de esquema, a tarefa pode não funcionar conforme o esperado ou pode falhar.

    Nota

    Use o comando ALTER para renomear objetos de banco de dados.

  • No modo de análise baseada em log híbrida, o banco de dados de origem não suporta operações consecutivas de adição ou remoção de colunas com intervalo inferior a 10 minutos. Por exemplo, se você executar as seguintes instruções SQL consecutivamente, a tarefa falhará.

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');
  • Se o banco de dados de origem for uma instância do ApsaraDB RDS for SQL Server executando a edição Web, defina o SQL Server Incremental Synchronization Mode como Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported) ao configurar a tarefa.

  • Durante a migração completa de dados, ative o parâmetro READ_COMMITTED_SNAPSHOT para o banco de dados de origem para evitar que a contenção de bloqueios compartilhados afete as gravações de dados. Caso contrário, pode ocorrer inconsistência de dados ou falha na tarefa. Problemas causados pela não ativação desse parâmetro não são cobertos pelo SLA do DTS.

Outros limites

  • O DTS não suporta a migração de dados dos seguintes tipos: CURSOR, ROWVERSION, SQL_VARIANT, HIERARCHYID, POLYGON, GEOMETRY e GEOGRAPHY.

  • Se os dados não puderem ser gravados em uma coluna do tipo de dados TIMESTAMP no banco de dados de destino, o DTS não suportará a migração completa ou incremental de dados. Isso pode levar a inconsistência de dados ou falha na tarefa.

  • Para migrar triggers do banco de dados de origem, a conta de banco de dados usada para a tarefa de migração deve ter permissões de Owner no banco de dados de destino.

  • Se você definir Configure Objects como SQL Server Incremental Synchronization Mode na etapa Incremental Synchronization Based on Logs of Source Database (Heap tables are not supported), as tabelas a serem migradas devem ter um índice clusterizado que inclua a coluna de chave primária. O DTS não suporta a migração de tabelas heap, tabelas sem chaves primárias, tabelas compactadas, tabelas com colunas computadas ou tabelas com colunas esparsas neste modo. Essas limitações não se aplicam no modo de análise baseada em log híbrida.

  • Se você definir Configure Objects como SQL Server Incremental Synchronization Mode na etapa Log-based Parsing for Non-heap Tables and CDC-based Incremental Synchronization for Heap Tables (Hybrid Log-based Parsing), os seguintes limites também se aplicam:

    • O DTS depende do componente CDC para migração incremental. Garanta que o job de CDC no banco de dados de origem esteja sendo executado conforme o esperado. Caso contrário, a tarefa do DTS falhará.

    • Por padrão, o componente CDC armazena dados incrementais por três dias. Ajuste o período de retenção executando o comando exec console.sys.sp_cdc_change_job @job_type = 'cleanup', @retention= <time>;.

      Nota
      • <time> especifica o período de retenção em minutos.

      • Se o número médio diário de alterações SQL incrementais para uma única tabela exceder 10 milhões, defina <time> como 1440.

    • Em uma única tarefa de migração, ative o CDC para no máximo 1.000 tabelas. Caso contrário, a tarefa pode apresentar alta latência ou tornar-se instável.

    • O módulo de pré-verificação de uma tarefa de migração incremental de dados do DTS ativa o CDC no banco de dados de origem. Durante esse processo, as limitações internas do mecanismo do SQL Server podem causar bloqueio temporário de tabelas no banco de dados de origem.

  • Se você definir Configure Objects como SQL Server Incremental Synchronization Mode na etapa Polling and querying CDC instances for incremental synchronization, os seguintes limites também se aplicam:

    • A conta do banco de dados de origem usada pela instância do DTS deve ter permissões para ativar o CDC. Uma conta com a função sysadmin é necessária para ativar o CDC no nível do banco de dados. Uma conta privilegiada é necessária para ativar o CDC no nível da tabela.

      Nota
      • A conta mais privilegiada (administrador do servidor) fornecida pelo console do Azure SQL Database atende aos requisitos. Para bancos de dados adquiridos com base no modelo vCore, o CDC pode ser ativado para todas as especificações. Para bancos de dados adquiridos com base no modelo DTU, o CDC só pode ser ativado para camadas de serviço S3 ou superiores.

      • A conta privilegiada de uma instância do Amazon RDS for SQL Server atende aos requisitos e suporta a ativação do CDC no nível do banco de dados via procedimentos armazenados.

      • Não é possível ativar o CDC para tabelas que possuem um índice columnstore clusterizado.

      • O módulo de pré-verificação de uma tarefa de migração incremental de dados do DTS ativa o CDC no banco de dados de origem. Durante esse processo, as limitações internas do mecanismo do SQL Server podem causar bloqueio temporário de tabelas no banco de dados de origem.

    • O DTS obtém dados incrementais consultando e fazendo polling da instância de CDC de cada tabela no banco de dados de origem. Migre no máximo 1.000 tabelas do banco de dados de origem. Caso contrário, a tarefa pode apresentar alta latência ou tornar-se instável.

    • Por padrão, o componente CDC armazena dados incrementais por três dias. Ajuste o período de retenção executando o comando exec console.sys.sp_cdc_change_job @job_type = 'cleanup', @retention= <time>;.

      Nota
      • <time> especifica o período de retenção em minutos.

      • Se o número médio diário de alterações SQL incrementais para uma única tabela exceder 10 milhões, defina <time> como 1440.

    • Operações consecutivas de adição ou remoção de colunas não são suportadas (mais de duas operações DDL ADD COLUMN ou DROP COLUMN em um minuto). Caso contrário, a tarefa pode falhar.

    • Não modifique as instâncias de CDC do banco de dados de origem. Caso contrário, a tarefa de migração de dados pode falhar ou pode ocorrer perda de dados.

  • Se você migrar dados entre versões diferentes do SQL Server, verifique a compatibilidade antecipadamente.

  • Para garantir relatórios precisos de latência na migração incremental de dados, o DTS cria objetos no banco de dados de origem. No modo de análise baseada em log, o DTS cria um trigger dts_cdc_sync_ddl, uma tabela de heartbeat dts_sync_progress e uma tabela de armazenamento de DDL dts_cdc_ddl_history. No modo de análise baseada em log híbrida, o DTS cria os mesmos objetos e também ativa o CDC nos níveis de banco de dados e tabela. Para tabelas onde o CDC está ativado, a taxa de alteração de dados não deve exceder 1.000 linhas por segundo (RPS).

  • Antes de migrar dados, avalie o desempenho dos bancos de dados de origem e destino e realize a migração fora dos horários de pico. Durante a migração completa de dados, o DTS consome recursos de leitura e gravação em ambos os bancos de dados, o que pode aumentar a carga deles.

  • Durante a migração completa de dados, operações INSERT concorrentes podem causar fragmentação nas tabelas de destino, de modo que o espaço de armazenamento da tabela no banco de dados de destino pode ser maior do que no banco de dados de origem após a migração.

  • Verifique se a precisão que o DTS usa para migrar colunas do tipo de dados FLOAT ou DOUBLE atende aos seus requisitos de negócio. O DTS usa a função ROUND(COLUMN,PRECISION) para ler valores dessas colunas. Se uma precisão não for explicitamente definida, o DTS migrará valores FLOAT com precisão de 38 dígitos e valores DOUBLE com precisão de 308 dígitos.

  • O DTS tenta retomar uma tarefa falha por até sete dias. Antes de alternar suas cargas de trabalho de negócios para a instância de destino, encerre ou libere a tarefa de migração. Alternativamente, revogue as permissões de gravação da conta do DTS na instância de destino usando o comando revoke para evitar que uma tarefa retomada sobrescreva os dados de destino.

  • Se uma tarefa de migração incluir migração incremental de dados, você não poderá realizar operações de reindexação. Isso pode causar falha na tarefa ou resultar em perda de dados.

    Nota

    Você não pode modificar a chave primária de uma tabela para a qual o CDC está ativado.

  • Se o número de tabelas com CDC ativado em uma única tarefa de migração exceder o valor definido no parâmetro The maximum number of tables for which CDC is enabled that DTS supports., a pré-verificação falhará.

  • Se uma tarefa incluir migração incremental e um único campo em uma tabela com CDC ativado a ser gravado contiver mais de 64 KB de dados, execute o comando exec sp_configure 'max text repl size', -1; para ajustar a configuração do banco de dados de origem antecipadamente.

    Nota

    Por padrão, um job de CDC pode processar um tamanho máximo de dados de 64 KB para um único campo.

  • Para realizar a migração incremental de dados, desative triggers e chaves estrangeiras que estejam habilitados no banco de dados de destino. Caso contrário, a tarefa falhará.

  • Quando várias instâncias de migração usam o mesmo banco de dados SQL Server de origem, seus módulos de coleta de dados incrementais operam independentemente.

  • Se uma tarefa falhar, a equipe de suporte do DTS tentará restaurá-la dentro de oito horas. Durante a restauração, eles podem reiniciar a tarefa ou ajustar seus parâmetros.

    Nota

    Apenas os parâmetros da tarefa do DTS são modificados — não os parâmetros do banco de dados. Os parâmetros que podem ser ajustados incluem aqueles listados em Modificar parâmetros da instância.

  • O SQL Server é um banco de dados comercial e de código fechado cujo formato de log pode causar problemas inevitáveis durante o CDC incremental e a análise no DTS. Antes de habilitar o DTS para sincronização incremental a partir de uma origem SQL Server em um ambiente de produção, realize testes abrangentes de prova de conceito (POC) que cubram todos os cenários de alteração de negócios, ajustes de esquema e testes de estresse de carga máxima. A consistência entre a lógica do seu ambiente de produção e a fase de POC é essencial para operações estáveis do DTS.

  • Durante a migração incremental de dados, rollbacks parciais de transação no banco de dados de origem não são suportados e podem ser ignorados.

Casos especiais

  • Se a origem for uma instância do ApsaraDB RDS for SQL Server, o DTS cria uma conta de sistema chamada rdsdt_dtsacct na instância para migração de dados. Não exclua esta conta nem altere sua senha enquanto a tarefa estiver em execução. Caso contrário, a tarefa pode falhar. Para mais informações, consulte Contas de sistema.

  • Se o destino for uma instância do ApsaraDB RDS for SQL Server, o DTS cria o banco de dados automaticamente. No entanto, se o nome do banco de dados não seguir as convenções de nomenclatura do ApsaraDB RDS for SQL Server, crie o banco de dados na instância de destino antes de configurar a tarefa de migração. Para mais informações, consulte Criar um banco de dados.

Configurar a tarefa de migração

Etapa 1: Conectar bancos de dados de origem e destino

  1. Acesse o console do Data Transmission Service (DTS).

  2. No painel de navegação à esquerda, clique em Data Migration e selecione uma região.

  3. Clique em Create Task e configure as conexões dos bancos de dados de origem e destino.

    Seção Parâmetro Descrição
    Task Name Insira um nome descritivo para facilitar a identificação. Não é necessário que seja único.
    Source Database Select Existing Connection Se você salvou anteriormente detalhes de conexão na página DTS Data Connection Management, selecione a conexão aqui para pular a entrada manual.
    Database Type Selecione SQL Server.
    Access Method Selecione Cloud Instance.
    Instance Region Selecione a região da instância do ApsaraDB RDS for SQL Server de origem.
    Replicate Data Across Alibaba Cloud Accounts Selecione No para migração entre instâncias na mesma conta Alibaba Cloud.
    RDS Instance ID Selecione o ID da instância de origem.
    Database Account Insira a conta do banco de dados da instância de origem com as permissões necessárias.
    Database Password Insira a senha da conta do banco de dados.
    Encryption Selecione Non-encrypted se o SSL não estiver habilitado. Selecione SSL-encrypted se o banco de dados de origem tiver Secure Sockets Layer (SSL) habilitado — o DTS confia no certificado do servidor por padrão.
    Destination Database Select Existing Connection Se você salvou anteriormente detalhes de conexão na página DTS Data Connection Management, selecione a conexão aqui para pular a entrada manual.
    Database Type Selecione SQL Server.
    Access Method Selecione Cloud Instance.
    Instance Region Selecione a região da instância do ApsaraDB RDS for SQL Server de destino.
    Instance ID Selecione o ID da instância de destino.
    Database Account Insira a conta do banco de dados da instância de destino com as permissões necessárias.
    Database Password Insira a senha da conta do banco de dados.
    Encryption Selecione Non-encrypted se o SSL não estiver habilitado. Selecione SSL-encrypted se o banco de dados de destino tiver SSL habilitado — o DTS confia no certificado do servidor por padrão.
  4. Clique em Test Connectivity and Proceed.

    Certifique-se de que os intervalos de endereços IP do servidor DTS foram adicionados às configurações de segurança dos bancos de dados de origem e de destino. Consulte Adicionar os blocos CIDR dos servidores DTS às configurações de segurança .

Etapa 2: Selecionar objetos para migrar

Na página Configure Objects, configure as definições de migração.

Parâmetro

Descrição

Migration Types

Selecione os tipos de migração que correspondem à sua abordagem. Para migração completa: selecione Schema Migration e Full Data Migration. Para migração com tempo de inatividade mínimo: selecione Schema Migration, Full Data Migration e Incremental Data Migration.

Method to Migrate Triggers in Source Database

Escolha um método de migração de triggers baseado em seus requisitos. Pule esta opção se os objetos a serem migrados não contiverem triggers. Este parâmetro está disponível apenas quando Schema Migration e Incremental Data Migration estiverem selecionados.

SQL Server Incremental Synchronization Mode

Disponível apenas quando Incremental Data Migration estiver selecionado. Consulte Modos de sincronização incremental para comparação.

The maximum number of tables for which CDC is enabled that DTS supports

Defina o número máximo de tabelas com CDC habilitado para a instância de migração atual. Padrão: 1.000. Indisponível quando o modo de sincronização é Incremental synchronization based on logs of source database (heap tables are not supported).

Processing Mode of Conflicting Tables

Precheck and Report Errors (padrão): O DTS verifica se existem tabelas no destino com os mesmos nomes da origem. A tarefa só inicia se nenhum conflito for encontrado. Ignore Errors and Proceed: Ignora essa verificação. Durante a migração completa, o DTS mantém os registros existentes no destino e pula os registros conflitantes da origem. Durante a migração incremental, novos dados da origem podem sobrescrever dados do destino, causando perda de dados. Use com cautela.

Source Objects

Selecione os objetos a serem migrados e clique no ícone de seta para movê-los para Selected Objects. Selecionar tabelas ou colunas exclui outros tipos de objetos, como views, triggers e procedimentos armazenados.

Selected Objects

Para renomear um único objeto no destino, clique com o botão direito nele. Consulte Mapear o nome de um único objeto. Para renomear vários objetos, clique em Batch Edit. Consulte Mapear vários nomes de objetos de uma vez. Para filtrar linhas por condição, clique com o botão direito em uma tabela e configure uma condição de filtro.

Renomear um objeto pode fazer com que objetos dependentes falhem na migração.

Etapa 3: Configurar definições avançadas

Clique em Next: Advanced Settings e configure as opções a seguir.

Parâmetro

Descrição

Dedicated Cluster for Task Scheduling

Por padrão, o DTS usa o cluster compartilhado. Para maior estabilidade, adquira um cluster dedicado. Consulte O que é um cluster dedicado do DTS.

Retry Time for Failed Connections

Tempo durante o qual o DTS tenta reconectar após falhas de conexão depois que a tarefa inicia. Valores válidos: 10–1.440 minutos. Padrão: 720. Defina um valor maior que 30. Durante as tentativas, você é cobrado pela instância do DTS.

Retry Time for Other Issues

Tempo durante o qual o DTS tenta repetir operações DDL ou DML falhas. Valores válidos: 1–1.440 minutos. Padrão: 10. Defina um valor maior que 10. Deve ser menor que Retry Time for Failed Connections.

Enable Throttling for Full Data Migration

Limita o uso de recursos de leitura/gravação durante a migração completa de dados para reduzir a carga do banco de dados. Configure QPS (queries per second) to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s). Disponível apenas quando Full Data Migration estiver selecionado.

Enable Throttling for Incremental Data Migration

Limita o uso de recursos durante a migração incremental. Configure RPS of Incremental Data Migration e Data migration speed for incremental migration (MB/s). Disponível apenas quando Incremental Data Migration estiver selecionado.

Environment Tag

Uma tag opcional para identificar a instância do DTS por ambiente.

Configure ETL

Selecione Yes para configurar o processamento de extração, transformação e carga (ETL). Consulte Configurar ETL em uma tarefa de migração ou sincronização de dados. Selecione No para pular.

Monitoring and Alerting

Selecione Yes para receber alertas quando a tarefa falhar ou a latência exceder um limiar. Configure o limiar de alerta e os contatos de notificação. Consulte Configurar monitoramento e alertas.

Etapa 4: Configurar verificação de dados (opcional)

Clique em Next Step: Data Verification para configurar uma tarefa de verificação de dados. Consulte Configurar uma tarefa de verificação de dados.

Etapa 5: Executar a pré-verificação e adquirir uma instância

  1. Clique em Next: Save Task Settings and Precheck.

    Para visualizar os parâmetros da API para esta configuração de tarefa, passe o mouse sobre Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters .
  2. Aguarde a conclusão da pré-verificação. Se algum item falhar, clique em View Details, solucione os problemas e execute a pré-verificação novamente. Se um item gerar um alerta que possa ser ignorado, clique em Confirm Alert Details > Ignore > OK, e então clique em Precheck Again. Ignorar alertas pode resultar em inconsistência de dados.

  3. Quando a Success Rate atingir 100%, clique em Next: Purchase Instance.

  4. Na página Purchase Instance, configure a classe da instância.

    Parâmetro

    Descrição

    Resource Group

    O grupo de recursos para a instância de migração. Padrão: default resource group. Consulte O que é Resource Management?

    Instance Class

    Selecione uma classe de instância com base na velocidade de migração necessária. Consulte Classes de instância de instâncias de migração de dados.

  5. Aceite os Data Transmission Service (Pay-as-you-go) Service Terms e clique em Buy and Start. Na caixa de diálogo de confirmação, clique em OK.

Monitorar a tarefa

Visualize o progresso da tarefa na página Data Migration.

  • Tarefas sem migração incremental de dados param automaticamente ao serem concluídas. O status mostra Completed.

  • Tarefas com migração incremental de dados executam continuamente e não param automaticamente. O status mostra Running.

Modos de sincronização incremental

Esta seção aplica-se quando Incremental Data Migration é selecionado como tipo de migração.

Modo

Vantagens

Desvantagens

Use quando

Hybrid log-based parsing (Análise baseada em log para tabelas não-heap e sincronização incremental baseada em CDC para tabelas heap)

Suporta tabelas heap, tabelas sem chaves primárias, tabelas compactadas e tabelas com colunas computadas. Oferece uma variedade maior de instruções DDL.

O DTS cria o trigger dts_cdc_sync_ddl, a tabela de heartbeat dts_sync_progress e a tabela de armazenamento de DDL dts_cdc_ddl_history no banco de dados de origem. Ativa o CDC nos níveis de banco de dados e tabela. SELECT INTO, TRUNCATE e RENAME COLUMN não podem ser executados em tabelas com CDC ativado. Triggers do banco de dados de origem criados pelo DTS não podem ser excluídos manualmente.

As tabelas de origem incluem tabelas heap, tabelas sem chaves primárias, ou tabelas compactadas ou com colunas computadas. Edições de origem suportadas: Enterprise ou Enterprise Evaluation (2012, 2014, 2016, 2019, 2022), Standard (2016, 2019, 2022).

Incremental synchronization based on logs of source database (tabelas heap não são suportadas)

Nenhuma alteração é feita no banco de dados de origem.

Não suporta tabelas heap, tabelas sem chaves primárias, tabelas compactadas ou tabelas com colunas computadas.

A origem é uma edição web do RDS for SQL Server (este modo é obrigatório). As tabelas de origem atendem a todos os requisitos estruturais.

Polling and querying CDC instances for incremental synchronization

Suporta migração do Amazon RDS for SQL Server, Azure SQL Database, Azure SQL Managed Instance, Azure SQL Server on Virtual Machine e Google Cloud SQL for SQL Server. Usa o componente CDC nativo do SQL Server para migração incremental estável com menor uso de largura de banda de rede.

A conta do DTS deve ter permissão para ativar o CDC. A migração incremental tem uma latência de aproximadamente 10 segundos. Problemas de estabilidade e desempenho podem ocorrer ao migrar muitos bancos de dados e tabelas simultaneamente.

A origem é uma instância SQL Server de nuvem de terceiros fora da Alibaba Cloud.

Apêndice: Operações SQL suportadas para migração incremental

Operações DML

INSERT, UPDATE, DELETE

O DTS não migra instruções UPDATE que atualizam apenas campos de objeto grande (LOB).

Operações DDL

  • ALTER TABLE — suporta apenas ADD COLUMN, DROP COLUMN e RENAME COLUMN

  • CREATE TABLE, CREATE INDEX

    CREATE TABLE não suporta partições ou funções dentro das definições de tabela.
  • DROP TABLE

  • RENAME TABLE

As seguintes operações DDL não são migradas:
DDL transacional (DDL de múltiplas colunas ou DDL combinado com DML em uma única instrução) — pode ocorrer perda de dados
DDL com tipos definidos pelo usuário
DDL online
DDL em objetos cujos nomes contenham palavras-chave reservadas
DDL executado via procedimentos armazenados do sistema
TRUNCATE TABLE