Todos os produtos
Search
Central de documentação

Data Transmission Service:Filtre os dados a serem migrados

Última atualização: Oct 12, 2026

Ao configurar os objetos a serem migrados em uma tarefa de migração de dados, é possível especificar condições para filtrar dados. Somente os dados que atendem às condições especificadas são migrados para o banco de dados de destino. Esse recurso aplica-se a cenários como migração regular de dados e particionamento de tabelas.

Limitações

  • Não há suporte a instruções de filtro complexas. Por exemplo, COLUMN1 IN (SELECT id FROM table1).

    OLUMN1 IN (SELECT id FROM table1).

  • Se a tabela ou coleção de origem contiver duas colunas cujos nomes diferem apenas no uso de maiúsculas e minúsculas, a filtragem poderá não gerar o resultado esperado.

    o colunas cujos nomes diferem apenas em maiúsculas e minúsculas, a tarefa de filtro poderá não alcançar o resultado esperado.

  • Se o banco de dados de origem for do tipo Tair/Redis, a filtragem de chaves por prefixo é o único método aceito.

    , há suporte apenas para filtragem de chaves baseada em prefixo.

  • Se o banco de dados de origem for do tipo MongoDB, apenas as tarefas de sincronização ou migração completa aceitam filtragem condicional. A sincronização ou migração incremental não é aceita.

    tarefas de sincronização ou migração suportam filtragem condicional. Não há suporte para sincronização ou migração incremental.

  • Se o banco de dados de origem for diferente de Tair/Redis e MongoDB e a condição de filtro exigir aspas, use aspas simples (').

    833fe828ef">, se a condição de filtro exigir aspas, use aspas simples (').

  • Não adicione ponto e vírgula (;) ao final da condição de filtro. Caso contrário, a tarefa poderá falhar.

    final de uma condição de filtro. Caso contrário, a tarefa poderá falhar.

  • Se o banco de dados de origem executar uma operação UPDATE que atenda a condições específicas (o valor da imagem anterior atende à condição de filtro, mas o valor da imagem posterior não), o DTS converte a instrução UPDATE em DELETE por padrão e a executa no banco de dados de destino.

    Importante

    Em uma instância do DTS com banco de dados de origem SQL Server, se o campo de filtro não for uma coluna de índice clusterizado, a lógica de filtro não será aplicada.

  • O mecanismo de filtro do DTS atua por pré-filtragem. Se o valor do campo de filtro configurado for alterado, a filtragem usará o valor anterior à alteração como base.

    Exemplo: Suponha que a condição de filtro configurada seja enabled = 1. O DTS sincroniza apenas os dados que atendem a essa condição. Se o valor do campo for alterado de enabled = 1 para enabled = 0, o sistema interpreta a ação como a exclusão dos dados com enabled = 1, seguida da gravação dos dados com enabled = 0. Como a operação anterior atende à condição, os dados são excluídos. No entanto, os dados subsequentes não são sincronizados por não atenderem à condição. Para sincronizar tanto os dados com enabled = 0 quanto os com enabled = 1, remova a condição de filtro e execute a sincronização novamente.

Procedimento

Nota

Para ver as etapas no novo console, consulte Set Filter Conditions.

  1. Na etapa Migration Types and Objects da configuração da tarefa de migração de dados, após mover os objetos a serem migrados para a caixa Selected, posicione o cursor sobre a tabela de destino (como a tabela de pedidos) na área Selected Objects e clique no botão Edit exibido à direita.

  2. Na caixa de diálogo exibida, insira uma condição de filtro no campo Filter Conditions.

    • Para bancos de dados relacionais, como MySQL e SQL Server:

      Nota
      • A condição de filtro deve ser uma instrução SQL WHERE padrão. Somente os operadores =, !=, < e > são aceitos. A tarefa migra para o banco de dados de destino apenas os dados que atendem a essa condição. Neste exemplo, insira orderid>100.

      • É possível filtrar por tempo, mas o formato na instrução SQL WHERE deve ser preciso. Por exemplo, para filtrar dados incrementais criados após 2020, insira create_time>'2020-01-01' ou create_time>'2020-01-01 00:00:00', e não create_time>'2020'.

      • Se for necessário usar aspas na condição de filtro, utilize aspas simples ('). Por exemplo: address in('hangzhou','shanghai').

      • Os nomes das colunas na condição de filtro não diferenciam maiúsculas de minúsculas. Isso pode causar problemas se uma tabela no banco de dados de origem contiver colunas com nomes que variam apenas no uso de maiúsculas e minúsculas (por exemplo, A e a). Nesses casos, a instrução SQL WHERE pode se aplicar a apenas uma delas. Por exemplo, WHERE A=10 pode ser aceito, enquanto WHERE a=10 não.

    • Para bancos de dados não relacionais, como o MongoDB: na caixa de diálogo Edit Collection, defina Collection Name como customer e insira uma condição de consulta JSON na área de texto Filter Condition. Clique no botão Verify Syntax para validar a sintaxe da condição.

      Nota

      É possível usar condições de consulta em formato JSON. A tarefa migra para o banco de dados de destino apenas os dados que atendem à condição especificada. Por exemplo, inserir {"id":{$gt:"52b64e55dc4449b7ba3d1183a0ea171b"}} migra apenas dados com ID maior que o valor especificado.

  3. Clique em Verify Syntax para validar a condição.

    Nota
    • Se a sintaxe for válida, a caixa de diálogo Tips será exibida com a mensagem Validation passed.

    • Se a sintaxe for inválida, a caixa de diálogo Error será exibida. Modifique a condição de filtro com base nas informações fornecidas na caixa de diálogo.

  4. Clique em OK.

  5. Siga as instruções na tela para concluir a configuração da tarefa de migração de dados.