Restrições de precedência
As restrições de precedência vinculam executáveis, contêineres e tarefas em pacotes em um fluxo de controle e especificam condições que determinam a execução de executáveis. Um executável pode ser um contêiner Loop For, Loop Foreach ou Sequência; uma tarefa; ou um manipulador de eventos. Os manipuladores de eventos também usam restrições de precedência para vincular os seus executáveis a um fluxo de controle.
Uma restrição de precedência vincula dois executáveis: o de precedência e o restrito. O executável de precedência é executado antes do executável restrito e o resultado da execução do executável de precedência poderá determinar se o executável restrito será executado. O diagrama a seguir mostra dois executáveis vinculados por uma restrição de precedência.
Em um fluxo de controle linear, ou seja, aquele sem-ramificação, as restrições de precedência orientam sozinhas a sequência na qual a tarefa é executada. Se um fluxo de controle se ramifica, o mecanismo de tempo de execução do Integration Services determina a ordem de execução entre as tarefas e contêineres que vêm logo após a ramificação. O mecanismo de tempo de execução também determina a ordem de execução entre fluxos de trabalho não conectados em um fluxo de controle.
A arquitetura de contêiner aninhado do Integration Services permite que todos os contêineres, com exceção do contêiner host da tarefa que encapsula somente uma única tarefa, incluam outros contêineres, cada um com seu próprio fluxo de controle. Os contêineres Loop For, Loop Foreach e Sequência podem incluir várias tarefas e outros contêineres que, por sua vez, podem incluir várias tarefas e contêineres. Por exemplo, um pacote com uma tarefa Script e um contêiner Sequência tem uma restrição de precedência que vincula a tarefa Script e o contêiner Sequência. O contêiner Sequência inclui três tarefas Script e suas restrições de precedência vinculam as três tarefas Script em um fluxo de controle. O diagrama a seguir mostra as restrições de precedência em um pacote com dois níveis de aninhamento.
Como o pacote está no topo da hierarquia de contêineres do SSIS, vários pacotes não podem ser vinculados por restrições de precedência; entretanto, é possível adicionar uma tarefa Executar Pacote a um pacote e, indiretamente, vincular outro pacote ao fluxo de controle.
É possível configurar restrições de precedência adotando um dos seguinte procedimentos:
Especifique uma operação de avaliação. A restrição de precedência usa um valor de restrição, uma expressão, ambos ou para determinar se o executável restrito será executado.
Se a restrição de precedência usar um resultado de execução, você poderá especificar o resultado de execução para ser sucesso, falha ou conclusão.
Se a restrição de precedência usar um resultado de avaliação, você poderá fornecer uma expressão que avalie a um booleano.
Especifique se a restrição de precedência é avaliada isoladamente ou junto com outras restrições aplicáveis ao executável restrito.
Operações de avaliação
O Integration Services fornece as seguintes operações de avaliação:
Uma restrição que usa somente o resultado da execução do executável de precedência para determinar se o executável restrito será executado. O resultado da execução do executável de precedência pode ser conclusão, sucesso ou falha. Essa é a operação padrão.
Uma expressão que é avaliada para determinar se o executável restrito será executado. Se a expressão avaliar como true, o executável restrito será executado.
Uma expressão e uma restrição que combinam os requisitos dos resultados da execução do executável de precedência e os resultados de retorno da avaliação da expressão.
Uma expressão ou restrição que usa os resultados da execução do executável de precedência ou os resultados de retorno da avaliação da expressão.
O Designer do SSIS usa cores para identificar o tipo de restrição de precedência. A restrição Bem-sucedida é verde, a restrição Falha é vermelha, e a restrição Conclusão é azul. Para exibir rótulos de texto no Designer do SSIS que mostrem o tipo de restrição, você deve configurar os recursos de acessibilidade do Designer do SSIS.
A expressão deve ser uma expressão válida do SSIS e pode incluir funções, operadores e variáveis do sistema e personalizadas. Para obter informações, confira Expressões do Integration Services (SSIS) e Manipuladores de Eventos do Integration Services (SSIS).
Resultados da execução
A restrição de precedência pode usar os resultados de execução a seguir sozinhos ou em combinação com uma expressão.
A conclusão requer que somente o executável de precedência seja concluído, sem considerar o resultado, para que o executável restrito seja executado.
O sucesso requer que o executável de precedência seja concluído com êxito para que o executável restrito seja executado.
A falha requer que o executável de precedência falhe para que o executável restrito seja executado.
Observação
Somente as restrições de precedência que forem membros da mesma coleção Precedence Constraint
poderão ser agrupadas em uma condição AND lógica. Por exemplo, você não pode combinar restrições de precedência de dois contêineres Loop Foreach.
Configuração da restrição de precedência
Você pode definir propriedades pelo Designer do SSIS ou programaticamente.
Para obter informações sobre as propriedades que você pode definir no SSIS Designer, consulte Editor de Restrição de Precedência.
Para obter informações sobre como definir essas propriedades programaticamente, consulte PrecedenceConstraint.
Related Tasks
Para obter detalhes sobre como definir essas propriedades no SSIS Designer, clique em um dos seguintes tópicos:
Definir o valor de uma restrição de precedência por meio do menu de atalho
Como conectar tarefas e contêineres por meio de uma restrição de precedência padrão
Este tópico fornece informações sobre como definir o comportamento padrão de restrições de precedência e como conectar executáveis usando as restrições de precedência padrão, consulte.
Conteúdo relacionado
Artigo técnico, Exemplos de expressões SSIS, em social.technet.microsoft.com
Consulte Também
Adicionar expressões a restrições de precedência váriasrestrições de precedência