Partilhar via


Processar inserções, atualizações e exclusões

No fluxo de dados de um pacote do Integration Services, que executa uma carga incremental de dados de alteração, a segunda tarefa serve para separar inserções, atualizações e exclusões. Em seguida, você pode usar comandos apropriados para aplicá-los ao destino.

ObservaçãoObservação

A primeira tarefa na criação do fluxo de dados de um pacote que realize uma carga incremental de dados de alteração é configurar o componente de origem que executa a consulta que recupera os dados de alteração. Para obter mais informações sobre esse componente, consulte Recuperar e compreender os dados de alteração. Para obter uma descrição do processo geral para criar um pacote que realiza uma carga incremental de dados de alteração, consulte Change Data Capture (SSIS).

Associando valores amigáveis para separar inserções, atualizações e exclusões

Na consulta de exemplo que recupera dados de alteração, a função cdc.fn_cdc_get_net_changes_<capture_instance> retorna apenas a coluna de metadados chamada __$operation. Esta coluna de metadados contém um valor ordinal que indica qual operação causou a alteração.

ObservaçãoObservação

Para obter mais informações sobre a consulta que usa chama a função cdc.fn_cdc_get_net_changes_<capture_instance>, consulte Criar a função para recuperar os dados de alteração.

Corresponder um valor ordinal a sua operação correspondente não é tão fácil quanto usar um mnemônico da operação. Por exemplo, 'D' pode representar facilmente uma operação de exclusão e 'I' representar uma operação de inserção. A consulta de exemplo criada no tópico, Criando a função para recuperar os dados de alteração, faz essa conversão de um valor ordinal para um valor de cadeia de caracteres amigável que retorna uma nova coluna. O seguinte segmento de código mostra esta conversão:

    select 
        ...
        case __$operation
            when 1 then 'D'
            when 2 then 'I'
            when 4 then 'U'
            else null
         end as CDC_OPERATION

Configurando uma transformação de divisão condicional para direcionar inserções, atualizações e exclusões

Para direcionar linhas de dados de alteração para uma de três saídas, a transformação de Divisão Condicional é ideal. A transformação apenas verifica o valor da coluna CDC_OPERATION em cada linha e determina se essa alteração foi uma inserção, atualização ou exclusão.

ObservaçãoObservação

A coluna de CDC_OPERATION contém um valor da cadeia de caracteres amigável derivado do valor numérico na coluna __$operation.

Para dividir inserções, atualizações e exclusões por processamento usando uma transformação de Divisão Condicional

  1. Na guia Fluxo de Dados, adicione uma transformação de Divisão Condicional.

  2. Conecte a saída da origem OLE DB à transformação de Divisão Condicional.

  3. No Editor de Transformação de Divisão Condicional, no painel inferior do editor, digite as três linhas a seguir para designar as três saídas

    1. Digite uma linha com a condição CDC_OPERATION == "I" para direcionar as linhas inseridas para a saída para inserções.

    2. Digite uma linha com a condição CDC_OPERATION == "U" para direcionar as linhas atualizadas para a saída para atualizações.

    3. Digite uma linha com a condição CDC_OPERATION == "D" para direcionar as linhas excluídas para a saída para exclusões.

Próxima Etapa

Após você dividir as linhas por processamento, a próxima etapa é aplicar as alterações ao destino.

Próximo tópico: Aplicar as alterações ao destino

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

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


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

Consulte também

Tarefas

Dividir um conjunto de dados por meio da transformação Divisão Condicional

Conceitos

Transformação Divisão Condicional