Todos os produtos
Search
Central de documentação

Data Transmission Service:Migrar dados do RDS SQL Server para o DataHub

Última atualização: Jun 27, 2026

Use o Data Transmission Service (DTS) para transmitir alterações incrementais de dados de uma instância do ApsaraDB RDS for SQL Server para um projeto do DataHub em tempo real. O DTS usa change data capture (CDC) para ler operações INSERT, UPDATE e DELETE confirmadas no log de transações do SQL Server e gravá-las nos tópicos do DataHub.

Como funciona

Ao iniciar uma tarefa de migração do DTS, o serviço executa a migração de esquema para replicar a estrutura dos objetos selecionados no projeto do DataHub de destino. Após a conclusão da migração de esquema, o DTS ativa o CDC na instância de origem e começa a capturar alterações no nível da linha. Cada alteração capturada é gravada no tópico correspondente do DataHub. A tarefa executa continuamente e só para se você a interromper manualmente ou se ocorrer um erro irrecuperável.

Este caminho de migração não oferece suporte à migração total de dados. Apenas a migração de esquema e a migração incremental de dados estão disponíveis.

Configurações suportadas

A tabela a seguir resume os limites rígidos para este caminho de migração. Verifique esses requisitos antes de começar.

Categoria

Valores ou limites suportados

Tipos de migração

Migração de esquema, migração incremental de dados (não há suporte para migração total de dados)

Bancos de dados por tarefa

Até 10

Tabelas por tarefa (ao renomear tabelas ou colunas)

Até 1.000

SQL Server — Enterprise edition

2008 ou posterior

SQL Server — Standard edition

2016 SP1 ou posterior

Tamanho da string de destino

Até 2 MB por valor de string

Tabelas CDC com valores de campo > 64 KB

Execute exec sp_configure 'max text repl size', -1; antes de iniciar a tarefa

Transparent Data Encryption (TDE)

Deve estar desativado quando a migração incremental de dados estiver incluída

Pré-requisitos

Antes de começar:

  • A instância do ApsaraDB RDS for SQL Server de origem deve executar uma versão com suporte no DTS. Consulte Visão geral dos cenários de migração de dados para verificar as versões compatíveis.

  • O DataHub deve estar ativado e um projeto criado para receber os dados migrados. Consulte Introdução ao DataHub e Gerenciar projetos.

  • Caso a instância de origem atenda a qualquer uma das condições abaixo, adquira múltiplas instâncias do DTS e configure tarefas de migração separadas:

    • A instância contém mais de 10 bancos de dados

    • Um único banco de dados faz backup de seus logs de transações com frequência superior a uma vez por hora

    • Um único banco de dados executa mais de 100 instruções DDL por hora

    • Logs de transações são gravados a uma taxa superior a 20 MB/s para um único banco de dados

    • É necessário ativar o CDC para mais de 1.000 tabelas

Limitações

Banco de dados de origem

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

  • As tabelas a serem migradas devem possuir restrições PRIMARY KEY ou UNIQUE, com todos os campos únicos. Tabelas sem essas restrições podem gerar registros duplicados no destino.

  • Se você renomear tabelas ou colunas no destino, uma única tarefa de migração suporta até 1.000 tabelas. Exceder esse limite causa um erro de solicitação. Nesse caso, divida as tabelas em várias tarefas ou migre no nível do banco de dados.

  • Uma única tarefa de migração suporta até 10 bancos de dados. Migrar mais de 10 bancos de dados em uma tarefa pode reduzir o desempenho e a estabilidade.

  • Para migração incremental de dados:

    • Ative o registro de dados no banco de dados de origem. Defina o modo de backup como Full e execute um backup físico completo.

    • Se executar apenas a migração incremental de dados, retenha os logs de transações por mais de 24 horas. Se executar tanto a migração total quanto a incremental, retenha os logs por pelo menos 7 dias. O DTS pode falhar ao obter logs se o período de retenção for muito curto, o que pode causar falha na tarefa, inconsistência de dados ou perda de dados. Após a conclusão da migração total de dados, reduza o período de retenção para mais de 24 horas. Períodos de retenção fora desses requisitos estão fora do escopo do Service Level Agreement (SLA) do DTS.

  • Para que o CDC funcione corretamente, as seguintes condições devem ser atendidas. Caso contrário, a pré-verificação falhará:

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

    • Para bancos de dados SQL Server autogerenciados, o proprietário do banco de dados deve ser o usuário sa. Para bancos de dados do ApsaraDB RDS for SQL Server, o proprietário deve ser o usuário sqlsa.

    • Enterprise edition: SQL Server 2008 ou posterior.

    • Standard edition: SQL Server 2016 SP1 ou posterior.

    • Se a origem executar o SQL Server 2017 (edição Standard ou Enterprise), atualize para uma versão posterior antes da migração.

  • O DTS utiliza a função fn_log para ler os logs do banco de dados de origem. Não limpe os logs antes que a tarefa seja concluída, pois isso pode causar falha na tarefa.

  • Durante a migração de esquema e a migração total de dados, não execute instruções DDL no banco de dados de origem. Alterações de esquema durante a migração causam falha na tarefa.

  • Se executar apenas a migração incremental de dados, não grave dados no banco de dados de origem durante a migração. Para garantir a consistência dos dados, execute a migração de esquema, a migração total de dados e a migração incremental de dados juntas.

  • Se a origem for um Azure SQL Database, apenas um banco de dados pode ser migrado por tarefa.

  • Se a origem for uma instância do ApsaraDB RDS for SQL Server e a tarefa incluir migração incremental de dados, desative o Transparent Data Encryption (TDE) na instância. Consulte Configurar TDE.

  • Durante a migração total de dados, ative o nível de isolamento READ_COMMITTED_SNAPSHOT no banco de dados de origem. Sem ele, bloqueios compartilhados podem impedir gravações, causar inconsistência de dados ou impedir a execução da instância. Esses problemas estão fora do escopo do SLA do DTS.

  • No modo de análise híbrida baseada em logs, não adicione ou remova colunas mais de uma vez dentro de uma janela de 10 minutos. Por exemplo, executar ambas as instruções a seguir dentro de 10 minutos causa um erro na tarefa:

    ALTER TABLE test_table DROP COLUMN Flag;
    ALTER TABLE test_table ADD Remark nvarchar(50) not null default('');

Projeto do DataHub de destino

  • Um único valor de string não pode exceder 2 MB de comprimento.

Objetos e tipos de dados

O DTS oferece suporte à migração de esquema para: esquemas, tabelas, views, funções e stored procedures.

Os seguintes tipos de objeto não são migrados:

  • Assemblies

  • Service brokers

  • Índices de texto completo e catálogos de texto completo

  • Esquemas distribuídos e funções distribuídas

  • Stored procedures CLR (Common Language Runtime), funções CLR com valor escalar e funções CLR com valor de tabela

  • Tabelas internas, objetos de sistema e funções de agregação

  • Tabelas que contêm colunas computadas

Os seguintes tipos de dados do SQL Server não são migrados:

Tipo de dado

Observações

CURSOR

Sem suporte

ROWVERSION

Sem suporte

SQL_VARIANT

Sem suporte

HIERARCHYID

Sem suporte

POLYGON

Sem suporte

GEOMETRY

Sem suporte

GEOGRAPHY

Sem suporte

Migração incremental de dados

  • Operações DML com suporte: INSERT, UPDATE, DELETE.

    Se uma operação UPDATE modificar apenas valores de campos grandes, o DTS não migrará essa operação.
  • Operações de reindexação não são permitidas enquanto a migração incremental de dados estiver em execução. A reindexação pode causar falha na tarefa e resultar em perda de dados.

    O DTS não consegue migrar operações DDL relacionadas à chave primária de uma tabela com CDC ativado.
  • Se o número de tabelas com CDC ativado em uma única tarefa de migração exceder o máximo suportado pelo DTS, a pré-verificação falhará.

  • Se as tabelas com CDC ativado exigirem valores de campo maiores que 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;

    Por padrão, um trabalho de CDC processa dados de até 64 KB por campo.

  • O DTS não migra chaves estrangeiras. Operações em cascata e de exclusão definidas no banco de dados de origem não são replicadas para o destino.

Objetos internos criados pelo DTS

O DTS cria os seguintes objetos no banco de dados de origem para rastrear o progresso da migração:

Modo

Objetos criados

Sincronização incremental baseada em logs do banco de dados de origem

Trigger dts_cdc_sync_ddl, tabela de heartbeat dts_sync_progress, tabela de histórico DDL dts_cdc_ddl_history

Análise híbrida baseada em logs

Igual ao acima, além de CDC ativado no banco de dados de origem e em tabelas específicas

Para tabelas com CDC ativado, defina a taxa máxima de ingestão como 1.000 registros por segundo (RPS).

Outras considerações

  • Migre dados fora do horário de pico. A migração total de dados aumenta a carga de leitura e gravação tanto na origem quanto no destino.

  • Não utilize ferramentas externas ao DTS para gravar dados no projeto do DataHub de destino durante a migração. Isso pode causar inconsistência de dados.

  • Múltiplas instâncias do DTS que compartilham o mesmo banco de dados SQL Server de origem capturam dados incrementais de forma independente.

  • Se uma tarefa falhar, o suporte técnico do DTS tentará restaurá-la em até 8 horas. Durante a restauração, a tarefa pode ser reiniciada e parâmetros da tarefa (não parâmetros do banco de dados) podem ser modificados. Para ver os parâmetros passíveis de modificação, consulte Modificar parâmetros da instância.

  • A migração total de dados usa operações INSERT concorrentes, o que pode causar fragmentação de tabela no destino. O tamanho do tablespace de destino pode ficar maior que o da origem após a migração.

Casos especiais

Se a origem for uma instância do ApsaraDB RDS for SQL Server, o DTS cria automaticamente uma conta chamada rdsdt_dtsacct na instância. Não exclua essa conta nem altere sua senha enquanto a tarefa de migração estiver em execução. Consulte Contas de sistema.

Faturamento

Tipo de migração

Taxa de configuração da tarefa

Custo de transferência de dados

Migração de esquema

Gratuita

Gratuito (cobranças aplicam-se apenas ao migrar pela Internet a partir da Alibaba Cloud). Consulte Visão geral do faturamento.

Migração incremental de dados

Cobrada. Consulte Visão geral do faturamento.

—

Permissões necessárias para a conta do banco de dados

Instância

Migração de esquema

Migração incremental de dados

ApsaraDB RDS for SQL Server de origem

Permissões de leitura nos objetos a serem migrados

Permissões de proprietário nos objetos a serem migrados

Consulte Criar uma conta privilegiada ou uma conta padrão e Modificar as permissões de uma conta.

Criar uma tarefa de migração

Etapa 1: Abrir a página Data Migration

Use um dos seguintes consoles:

Console do DTS

  1. Faça login no console do DTS.

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

  3. No canto superior esquerdo, selecione a região onde reside a instância de migração.

Console do DMS

O caminho exato de navegação varia dependendo do modo e do layout do console do DMS. Consulte Modo simples e Personalizar o layout e o estilo do console do DMS .
  1. Faça login no console do DMS.

  2. Na barra de navegação superior, acesse Data + AI > DTS (DTS) > Data Migration.

  3. Na lista suspensa ao lado de Data Migration Tasks, selecione a região onde reside a instância de migração.

Etapa 2: Configurar a tarefa

  1. Clique em Create Task.

  2. Configure os bancos de dados de origem e de destino.

    Aviso

    Após configurar os bancos de dados de origem e de destino, leia os Limits exibidos na parte superior da página antes de prosseguir. Ignorar esta etapa pode causar falha na tarefa ou resultar em inconsistência de dados.

    Banco de dados de origem

    Parâmetro

    Descrição

    Task Name

    Nome para a tarefa do DTS. O DTS gera um nome automaticamente. Especifique um nome descritivo para facilitar a identificação da tarefa. O nome não precisa ser único.

    Select Existing Connection

    Se a instância de origem estiver registrada no DTS, selecione-a na lista suspensa. O DTS preenche os parâmetros restantes automaticamente. Caso contrário, configure os parâmetros abaixo. No console do DMS, selecione a instância em Select a DMS database instance. Consulte Gerenciar conexões de banco de dados.

    Database Type

    Selecione SQL Server.

    Access Method

    Selecione Alibaba Cloud Instance.

    Instance Region

    Região onde reside a instância do ApsaraDB RDS for SQL Server de origem.

    Replicate Data Across Alibaba Cloud Accounts

    Selecione No para migração na mesma conta.

    RDS Instance ID

    ID da instância do ApsaraDB RDS for SQL Server de origem.

    Database Account

    Conta do banco de dados para a instância de origem. Consulte Permissões necessárias para a conta do banco de dados.

    Database Password

    Senha da conta do banco de dados.

    Encryption

    Selecione Non-encrypted se o SSL estiver desativado no banco de dados de origem. Selecione SSL-encrypted se o SSL estiver ativado. O DTS confia no certificado do servidor por padrão.

    Banco de dados de destino

    Parâmetro

    Descrição

    Select Existing Connection

    Se a instância de destino estiver registrada no DTS, selecione-a na lista suspensa. O DTS preenche os parâmetros restantes automaticamente. Caso contrário, configure os parâmetros abaixo. Consulte Gerenciar conexões de banco de dados.

    Database Type

    Selecione DataHub.

    Access Method

    Selecione Alibaba Cloud Instance.

    Instance Region

    Região onde reside o projeto do DataHub de destino.

    Project

    Nome do projeto do DataHub de destino.

  3. Clique em Test Connectivity and Proceed.

    Adicione os blocos CIDR dos servidores DTS às configurações de segurança dos bancos de dados de origem e de destino. O DTS pode adicioná-los automaticamente ou você pode adicioná-los manualmente. Consulte Adicionar os blocos CIDR dos servidores DTS . Se a origem ou o destino for um banco de dados autogerenciado não acessado através de Alibaba Cloud Instance , clique em Test Connectivity na caixa de diálogo CIDR Blocks of DTS Servers .

Etapa 3: Selecionar objetos para migrar

Na página Configure Objects, configure os seguintes parâmetros:

Parâmetro

Descrição

Migration Types

Selecione Schema Migration e Incremental Data Migration. Full Data Migration não está disponível para este caminho de migração. Se não selecionar Incremental Data Migration, não grave dados no banco de dados de origem durante a migração para manter a consistência dos dados.

Naming Rules of Additional Columns

Quando o DTS migra dados para o DataHub, ele adiciona colunas extras ao tópico de destino. Se esses nomes de coluna entrarem em conflito com colunas existentes no tópico, a migração falhará. Selecione New Rule ou Previous Rule conforme sua necessidade. Verifique conflitos de nomenclatura antes de configurar este parâmetro. Consulte Modificar as regras de nomenclatura para colunas adicionais.

Processing Mode of Conflicting Tables

Precheck and Report Errors: falha na pré-verificação se o destino contiver tabelas com os mesmos nomes das tabelas de origem. Use o recurso de mapeamento de nomes de objetos para resolver conflitos. Consulte Mapeamento de nomes de banco de dados, tabela e coluna. Ignore Errors and Proceed: ignora a pré-verificação para nomes de tabela idênticos. Durante a migração total, registros existentes no destino com chaves primárias correspondentes são mantidos. Durante a migração incremental, eles são sobrescritos. Se os esquemas diferirem, apenas algumas colunas serão migradas ou a tarefa poderá falhar.

Capitalization of Object Names in Destination Instance

Controla a capitalização de nomes de banco de dados, tabelas e colunas no destino. O padrão é DTS default policy. Consulte Especificar a capitalização de nomes de objetos na instância de destino.

Source Objects

Selecione objetos na lista Source Objects e clique no ícone de seta para a direita para adicioná-los aos Selected Objects. É possível selecionar colunas, tabelas ou bancos de dados.

Selected Objects

Para renomear um único objeto, clique com o botão direito nele. Para renomear vários objetos de uma vez, clique em Edit no canto superior direito. Consulte Renomear objetos a serem migrados e Renomear vários objetos a serem migrados de uma vez. Nota: nomes de banco de dados não podem ser mapeados — renomear um banco de dados pode causar falha em objetos dependentes. Para filtrar linhas usando condições WHERE, clique com o botão direito em uma tabela. Consulte Especificar condições de filtro.

Etapa 4: Configurar definições avançadas

Clique em Next: Advanced Settings e configure os seguintes parâmetros:

Parâmetro Descrição
Dedicated Cluster for Task Scheduling Por padrão, o DTS agenda tarefas no cluster compartilhado. Para maior estabilidade, adquira um cluster dedicado. Consulte O que é um cluster dedicado do DTS.
Retry Time for Failed Connections Intervalo de tempo durante o qual o DTS tenta reconectar após falhas de conexão. Valores válidos: 10–1.440 minutos. Padrão: 720 minutos. Defina este valor como pelo menos 30 minutos. O DTS retoma a tarefa se reconectar dentro desta janela; caso contrário, a tarefa falha. Nota: se múltiplas tarefas compartilharem o mesmo banco de dados de origem ou destino, o tempo de nova tentativa configurado mais recentemente tem precedência. Cobranças do DTS se aplicam durante períodos de nova tentativa de conexão.
Retry Time for Other Issues Intervalo de tempo durante o qual o DTS tenta novamente operações DDL ou DML com falha. Valores válidos: 1–1.440 minutos. Padrão: 10 minutos. Defina este valor como pelo menos 10 minutos e sempre menor que o valor de Retry Time for Failed Connections.
Enable Throttling for Incremental Data Migration Disponível apenas quando Incremental Data Migration estiver selecionado. Configure RPS of Incremental Data Migration e Data migration speed for incremental migration (MB/s) para limitar a carga no destino.
Environment Tag Uma tag opcional para identificar a instância do DTS.
Configure ETL Selecione Yes para ativar o recurso de extração, transformação e carregamento (ETL) e insira instruções de processamento de dados no editor de código. Selecione No para pular o ETL. Consulte O que é ETL? e Configurar ETL em uma tarefa de migração ou sincronização de dados.
Monitoring and Alerting Selecione Yes para receber notificações quando a tarefa falhar ou quando a latência da migração exceder o limiar. Configure o limiar de alerta e as definições de notificação. Consulte Configurar monitoramento e alertas ao criar uma tarefa do DTS.

Etapa 5: Executar a pré-verificação

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.

O DTS executa uma pré-verificação antes de iniciar a tarefa de migraçã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 de cada item com falha, analise a causa, resolva o problema e clique em Precheck Again.

Se um alerta de pré-verificação for acionado:

  • Para alertas que não podem ser ignorados: clique em View Details, resolva o problema e execute a pré-verificação novamente.

  • Para alertas que podem ser ignorados: clique em Confirm Alert Details > Ignore > OK e, em seguida, clique em Precheck Again. Ignorar alertas pode resultar em inconsistência de dados.

Etapa 6: Adquirir uma instância de migração de dados

  1. Aguarde até que Success Rate atinja 100% e clique em Next: Purchase Instance.

  2. Na página Purchase Instance, configure o seguinte:

    Parâmetro

    Descrição

    Resource Group

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

    Instance Class

    A classe da instância determina a velocidade da migração. Selecione uma classe com base na sua carga de trabalho. Consulte Classes de instâncias de migração de dados.

  3. Leia e aceite os Data Transmission Service (Pay-as-you-go) Service Terms.

  4. Clique em Buy and Start e, em seguida, clique em OK na caixa de diálogo de confirmação.

Verificar a tarefa de migração

Após o início da tarefa, verifique seu status na página Data Migration:

  • Completed: A tarefa incluía apenas migração de esquema (sem migração incremental de dados). A tarefa parou automaticamente.

  • Running: A tarefa inclui migração incremental de dados. A tarefa executa continuamente e não para automaticamente.