Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo ajuda você a contornar o problema em que os pontos de verificação do SQL Server Integration Services (SSIS) não são respeitados ou For Loop Foreach Loop itens de contêiner.
Versão original do produto: SQL Server
Número original do KB: 2624458
Sintomas
Considere o cenário a seguir.
Você instala o Microsoft SQL Server Integration Services em um computador.
Você cria um pacote SSIS que contém um item de Contêiner de Loop For que é seguido por um Contêiner de Sequência.
Os itens Contêiner de Loop For e Contêiner de Sequência têm um dos seguintes:
- Uma tarefa Executar SQL (OR)
- Duas ou mais tarefas de execução do SQL executadas em paralelo.
Você habilita a configuração Ponto de verificação para o pacote SSIS.
Você executa o pacote SSIS
O Contêiner de Loop For é concluído e a execução do pacote chega ao Contêiner de Sequência.
Você executa uma das ações abaixo:
- Para pacotes com uma única Tarefa Executar SQL, você interrompe a execução do pacote enquanto a tarefa ainda está em execução.
- Para pacotes que executam várias tarefas de execução de SQL, você interrompe a execução do pacote ou experimenta uma falha em uma dessas tarefas enquanto outras tarefas de execução de SQL ainda estão em execução
O pacote SSIS é executado novamente.
Nesse cenário, o Pacote é iniciado no For Loop Sequence Contêiner em vez do Contêiner.
Observação
Esse problema não está vinculado à Tarefa Executar SQL. Isso também pode ocorrer com outras tarefas.
Causa
Esse comportamento é por design. Os dados do ponto de verificação não são salvos para o contêiner e Foreach Loop os itens do For Loop contêiner. Se um contêiner filho no loop for executado com êxito, ele não será registrado no arquivo de ponto de verificação. Portanto, quando o pacote é reiniciado, as tarefas em cada um desses itens de contêiner são executadas novamente.
Solução alternativa
Para contornar o problema, envolva o For Loop ou o Foreach Loop contêiner dentro de um Sequence contêiner.