Partilhar via


Executando uma carga incremental de várias tabelas

No tópico, Melhorando cargas incrementais com captura dos dados de alteração, o diagrama ilustra um pacote básico que realiza uma carga incremental em apenas uma tabela. No entanto, carregar uma tabela não é tão comum quanto ter que realizar uma carga incremental de diversas tabelas.

Ao executar uma carga incremental de diversas tabelas, algumas etapas devem ser realizadas uma vez para todas as tabelas e outras etapas devem ser repetidas para cada tabela de origem. Você tem mais de uma opção para implementar estas etapas no Integration Services:

  • Usar um pacote pai e pacotes filho.

  • Usar diversas tarefas de Fluxo de Dados em um único pacote.

ObservaçãoObservação

Para ver exemplos completos que demonstram o uso do Change Data Capture em pacotes, consulte os exemplos do Integration Services no Codeplex.

Carregando diversas tabelas usando um pacote pai e diversos pacotes filho

É possível usar um pacote pai para executar essas etapas que só precisam ser executadas uma vez. Os pacotes filho executarão essas etapas que precisam ser executadas para cada tabela de origem.

Para criar um pacote pai que executa essas etapas que só precisam ser executadas uma vez

  1. Crie um pacote pai.

  2. No fluxo de controle, use uma tarefa Executar SQL ou expressões do Integration Services para calcular os pontos de extremidade.

    Para obter um exemplo de como calcular os pontos de extremidade, consulte Especificando um intervalo de dados de alteração.

  3. Se necessário, use um contêiner Loop For para atrasar a execução até que os dados de alteração para o período selecionado estejam prontos.

    Para obter um exemplo de contêiner de Loop For, consulte Determinando se os dados de alteração estão prontos.

  4. Use diversas tarefas Executar Pacote para executar pacotes filho para cada tabela a ser carregada. Passe os pontos de extremidade calculados no pacote pai para cada pacote filho usando as Configurações de Variáveis do Pacote Pai.

    Para obter mais informações, consulte Tarefa Executar Pacote e Como usar os valores de variáveis pai em um pacote filho.

Para criar pacotes filho para executar as etapas que precisam ser executadas para cada tabela de origem

  1. Para cada tabela de origem, crie um pacote filho.

  2. No fluxo de controle, use uma tarefa Script ou Executar SQL para montar a instrução SQL que será usada para consultar a existência de alterações.

    Para obter um exemplo de como montar a consulta, consulte Preparando para consultar pelos dados de alteração.

  3. Use uma tarefa de Fluxo de Dados simples em cada pacote filho para carregar os dados de alteração e aplicá-los no destino. Configure o Fluxo de Dados conforme descrito nas seguintes etapas:

    1. No fluxo de dados, use um componente de origem para consultar as tabelas de alterações para as alterações que caem dentro dos pontos de extremidade selecionados.

      Para obter um exemplo de como consultar as tabelas de alteração, consulte Recuperando e compreendendo os dados de alteração.

    2. Use uma transformação de Divisão Condicional para direcionar as inserções, atualizações e exclusões para saídas diferentes para o processamento apropriado.

      Para obter um exemplo de como configurar esta transformação para direcionar a saída, consulte Processando inserções, atualizações e exclusões.

    3. Use um componente de destino para aplicar as inserções ao destino. Use as transformações de Comando OLE DB com as instruções UPDATE e DELETE com parâmetros para aplicar atualizações e exclusões ao destino.

      Para obter um exemplo de como usar essa transformação para aplicar atualizações e exclusões, consulte Aplicando as alterações ao destino.

Carregando diversas tabelas usando diversas tarefas de Fluxo de Dados em um único pacote

Como alternativa, é possível usar um único pacote que contém uma tarefa de Fluxo de Dados separado para cada tabela de origem que será carregada.

Para carregar diversas tabelas usando diversas tarefas de Fluxo de Dados em um único pacote

  1. Crie um único pacote.

  2. No fluxo de controle, use uma tarefa Executar SQL ou expressões do Integration Services para calcular os pontos de extremidade.

    Para obter um exemplo de como calcular os pontos de extremidade, consulte Especificando um intervalo de dados de alteração.

  3. Se necessário, use um contêiner Loop For para atrasar a execução até que os dados de alteração para o intervalo selecionado estejam prontos.

    Para obter um exemplo de contêiner de Loop For, consulte Determinando se os dados de alteração estão prontos.

  4. Use uma tarefa Script ou Executar SQL para montar a instrução SQL que será usada para consultar a existência de alterações.

    Para obter um exemplo de como montar a consulta, consulte Preparando para consultar pelos dados de alteração.

  5. Use diversas tarefas de Fluxo de Dados para carregar os dados de alteração de cada tabela de origem e aplicá-los no destino. Configure cada tarefa de Fluxo de Dados conforme descrito nas seguintes etapas.

    1. Em cada fluxo de dados, use um componente de origem para consultar as tabelas de alterações para as alterações que caem dentro dos pontos de extremidade selecionados.

      Para obter um exemplo de como consultar as tabelas de alteração, consulte Recuperando e compreendendo os dados de alteração.

    2. Use uma transformação de Divisão Condicional para direcionar as inserções, atualizações e exclusões para saídas diferentes para o processamento apropriado.

      Para obter um exemplo de como configurar esta transformação para direcionar a saída, consulte Processando inserções, atualizações e exclusões.

    3. Use um componente de destino para aplicar as inserções ao destino. Use as transformações de Comando OLE DB com as instruções UPDATE e DELETE com parâmetros para aplicar atualizações e exclusões ao destino.

      Para obter um exemplo de como usar essa transformação para aplicar atualizações e exclusões, consulte Aplicando as alterações ao destino.

Ícone do Integration Services (pequeno) Fique atualizado com o Integration Services

Para obter os mais recentes downloads, artigos, exemplos e vídeos da Microsoft, bem como soluções selecionadas da comunidade, visite a página do Integration Services no MSDN ou TechNet:

Para receber uma notificação automática das atualizações, assine os feeds RSS disponíveis na página.