Todos os produtos
Search
Central de documentação

Data Transmission Service:Configure a sincronização ou migração de triggers

Última atualização: Aug 21, 2026

A migração prematura de triggers durante uma tarefa de sincronização ou migração de dados pode causar inconsistência entre os bancos de dados de origem e de destino. Este tópico explica como configurar a sincronização ou migração de triggers para evitar esse problema.

Pré-requisitos

  • Os bancos de dados de origem e de destino devem ser de um tipo compatível, como de uma instância do ApsaraDB RDS for MariaDB para uma instância do ApsaraDB RDS for MySQL. Para mais informações, consulte Supported instances.

  • A instância deve estar configurada para tarefas de estrutura e incrementais.

    • Instância de migração: Em Migration Types, selecione Schema Migration e Incremental Data Migration.

    • Instância de sincronização: Em Synchronization Types, a opção Incremental Data Synchronization vem selecionada por padrão. Selecione também Schema Synchronization.

  • Ao configurar a instância, selecione objetos em Source Objects no nível de banco de dados ou schema completo.

Instâncias compatíveis

Banco de dados de origem

Banco de dados de destino

Descrição

MySQL, PolarDB for MySQL, MariaDB

MySQL, PolarDB for MySQL, MariaDB

Se Method to Migrate Triggers in Source Database estiver definido como Automatically Migrate, o DTS adiciona uma instrução de controle ao trigger no banco de dados de destino. Essa instrução impede que o trigger seja acionado por padrão. Para mais informações, consulte Automatic migration.

SQL Server

SQL Server

Quando Method to Migrate Triggers in Source Database está definido como Automatically Migrate, o DTS migra os triggers automaticamente para o banco de dados de destino.

Importante

Se alterações incrementais de dados no banco de dados de origem fizerem com que os triggers atualizem dados tanto na origem quanto no destino, isso pode gerar inconsistências no banco de dados de destino. Recomendamos selecionar Manual Migration e executar as operações subsequentes necessárias.

Nota
  • Caso o banco de dados de origem da instância de sincronização ou migração contenha triggers e o banco de dados de destino seja uma instância PostgreSQL, PolarDB for PostgreSQL ou PolarDB for PostgreSQL (Compatible with Oracle), o DTS ajuda a prevenir inconsistências de dados causadas pela sincronização ou migração de triggers durante a execução da instância.

    • Se a conta usada no banco de dados de destino tiver privilégios suficientes, como uma conta privilegiada ou superprivilegiada, o DTS desativa automaticamente o trigger no nível de sessão após a sincronização ou migração para o destino.

    • Quando a conta do banco de dados de destino não possui privilégios suficientes, garanta que o parâmetro session_replication_role esteja definido como replica no banco de dados de destino enquanto a instância estiver em execução.

  • Para outras instâncias de sincronização ou migração que contenham triggers, consulte How do I configure a synchronization or migration task when the source database contains triggers?

Configuração da instância

Na etapa Configure Objects, escolha uma opção para Method to Migrate Triggers in Source Database.

Nota

Na versão anterior da página de configuração, essa opção encontra-se na etapa Configure Objects and Advanced Settings.

  • Selecione Manual Migration: Durante a migração de estrutura, o DTS gera um alerta object ignored due to incremental migration is enabled para cada trigger encontrado e não o migra para o banco de dados de destino. Sincronize ou migre manualmente os triggers do banco de dados de origem para o de destino antes de encerrar a tarefa incremental. Para mais informações, consulte Manual migration.

  • Escolha Automatically Migrate: Nenhuma ação adicional é necessária.

Migração manual

Nota

O procedimento é semelhante para instâncias de sincronização e de migração. Esta seção usa uma instância de sincronização como exemplo.

  1. Acesse a página da lista de tarefas de sincronização da região de destino. Utilize um dos dois métodos a seguir:

    Pelo console do DTS

    1. Faça login no console do Data Transmission Service (DTS).

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

    3. No canto superior esquerdo da página, selecione a região onde a instância de sincronização está localizada.

    Pelo console do DMS

    Nota

    As operações reais podem variar conforme o modo e o layout do console do DMS. Para mais informações, consulte Simple mode e Customize the layout and style of the DMS interface.

    1. Faça login no Data Management (DMS).

    2. Na barra de menu superior, escolha Data + AI > Data Transmission (DTS) > Data Synchronization.

    3. À direita de Data Synchronization Tasks, selecione a região onde a instância de sincronização está localizada.

  2. Clique em ID da instância de destino.

  3. Opcional: No painel de navegação à esquerda, clique em Task Management.

  4. Na seção Progress, clique em módulo Incremental Write.

  5. Na aba Basic Information, clique em Migrate Triggers.

    Nota

    Se o botão Migrate Triggers não for exibido, nenhum trigger foi encontrado durante a migração da estrutura.

    Visualize os resultados da sincronização de triggers na seção Progress, dentro do módulo Schema Migration3.

Migração automática

O DTS copia o código do trigger do banco de dados de origem, adiciona uma instrução de controle ao cabeçalho do trigger e grava o código modificado no banco de dados de destino. O código a seguir mostra um exemplo:

Trigger do banco de dados de origem:

CREATE TRIGGER testref BEFORE INSERT ON test1
  FOR EACH ROW
  BEGIN
    INSERT INTO test2 SET a2 = NEW.a1;
  END;

Trigger do banco de dados de destino:

CREATE TRIGGER testref BEFORE INSERT ON test1
  FOR EACH ROW
  BEGIN
    IF (SELECT @`__#aliyun_dts_writer#__) IS NULL THEN
        INSERT INTO test2 SET a2 = NEW.a1;
    END IF;
  END;

A migração automática altera apenas a forma como o DTS processa os triggers, sem impacto na sincronização incremental de dados. A ocorrência da sincronização incremental depende da seleção de Incremental Data Migration em Migration Types. Ao selecionar Schema Migration, migração completa de dados e Incremental Data Migration, o DTS sincroniza automaticamente os novos dados do banco de origem para o de destino após a conclusão da migração completa.

Perguntas frequentes

  • O que significa uma tarefa que inclui operações de estrutura e incrementais?

    Para uma instância de sincronização, isso significa que tanto Schema Synchronization quanto Incremental Data Synchronization estão selecionadas em Synchronization Types. Já para uma instância de migração, indica que Schema Migration e Incremental Data Migration foram selecionadas em Migration Types.

  • Como encerrar uma tarefa incremental?

    Encerre a tarefa incremental terminando, redefinindo ou liberando a instância. Para mais informações, consulte Terminate a DTS instance, Reset a DTS instance e Release a DTS instance.