Contêineres do Integration Services
Contêineres são objetos do SQL Server Integration Services que fornecem estrutura a pacotes e serviços a tarefas. Eles fornecem suporte à repetição de fluxos de controle em pacotes e agrupam tarefas e contêineres em unidades de trabalho significativas. Os contêineres podem incluir outros contêineres, além de tarefas.
Os pacotes usam contêineres para os propósitos a seguir:
Repetição de tarefas para cada elemento em uma coleção, como arquivos em uma pasta, esquemas ou objetos no SQL Server Management Objects (SMO). Por exemplo, um pacote pode executar instruções Transact-SQL que residem em arquivos múltiplos.
Repetição de tarefas até que uma expressão especificada seja avaliada como
false
. Por exemplo, um pacote pode enviar uma mensagem diferente de email sete vezes, uma vez para cada dia da semana.Agrupar tarefas e contêineres que precisam ter êxito ou falhar como uma unidade. Por exemplo, um pacote pode agrupar tarefas que excluem e somam linhas em uma tabela de banco de dados, e então confirmar ou reverter todas as tarefas quando uma apresentar falha.
Tipos de contêineres
Integration Services fornece quatro tipos de contêineres para criar pacotes. A tabela a seguir lista os tipos de contêineres.
Contêiner | Descrição |
---|---|
Contêiner Loop Foreach | Executa um fluxo de controle repetidamente usando um enumerador. |
Contêiner Loop For | Executa um fluxo de controle repetidamente testando uma condição. |
Contêiner de sequência | Agrupa tarefas e contêineres em fluxos de controle que são subconjuntos do fluxo de controle de pacote. |
Contêiner Host da Tarefa | Fornece serviços a uma única tarefa. |
Pacotes e manipuladores de eventos também são tipos de contêineres. Para obter informações, confira Pacotes do Integration Services (SSIS) e Manipuladores de Eventos do Integration Services (SSIS).
Resumo das propriedades dos contêineres
Todos os tipos de contêineres têm um conjunto de propriedades em comum. Se você criar pacotes que usam as ferramentas gráficas fornecidas pelo Integration Services , a janela Propriedades listará as propriedades a seguir dos contêineres Foreach Loop, Loop For e Sequence. As propriedades do contêiner host da tarefa são configuradas como parte da configuração da tarefa que o host da tarefa encapsula. Você define as propriedades Host da Tarefa quando configura a tarefa.
Propriedade | Descrição |
---|---|
DelayValidation |
Um valor booliano que indica se a validação do contêiner foi adiada até o tempo de execução. O valor padrão desta propriedade é False .Para obter mais informações, consulte DelayValidation. |
Description |
É a descrição do contêiner. A propriedade contém uma cadeia de caracteres, mas pode estar em branco. Para obter mais informações, consulte Description. |
Disable |
Um valor booliano que indica se o contêiner é executado. O valor padrão desta propriedade é False .Para obter mais informações, consulte Disable. |
DisableEventHandlers |
Um valor booliano que indica se os manipuladores de eventos estão associados à execução do contêiner. O valor padrão desta propriedade é False . |
FailPackageOnFailure |
Um valor booliano que especifica se o pacote irá falhar se ocorrer um erro no contêiner. O valor padrão desta propriedade é False .Para obter mais informações, consulte FailPackageOnFailure. |
FailParentOnFailure |
Um valor booliano que especifica se o contêiner pai irá falhar se ocorrer um erro no contêiner. O valor padrão desta propriedade é False .Para obter mais informações, consulte FailParentOnFailure. |
ForcedExecutionValue |
Se ForceExecutionValue estiver definido como True , o objeto que contém o valor de execução opcional para o contêiner. O valor padrão dessa propriedade é 0.Para obter mais informações, consulte ForcedExecutionValue. |
ForcedExecutionValueType |
O tipo de dados de ForcedExecutionValue . O valor padrão dessa propriedade é Int32 . |
ForceExecutionResult |
Um valor que especifica o resultado forçado da execução do pacote ou contêiner. Os valores são None , Success , Failure e Completion . O valor padrão desta propriedade é None .Para obter mais informações, consulte ForceExecutionResult. |
ForceExecutionValue |
Um valor Booliano que especifica se o valor de execução opcional do contêiner deve ser forçado a conter um valor específico. O valor padrão dessa propriedade é False .Para obter mais informações, consulte ForceExecutionValue. |
ID |
É o GUID do contêiner que é atribuído quando o pacote é criado. Esta propriedade é somente para leitura. ID. |
IsolationLevel |
É o nível de isolamento da transação de contêiner. Os valores são Unspecified , Chaos , ReadUncommitted , ReadCommitted , RepeatableRead , Serializable e Snapshot . O valor padrão dessa propriedade é Serializable . Para obter mais informações, consulte IsolationLevel. |
LocaleID |
É uma localidade do Microsoft Win32. O valor padrão dessa propriedade é a localidade do sistema operacional no computador local. Para obter mais informações, consulte LocaleID. |
LoggingMode |
É um valor que especifica o comportamento de log do contêiner. Os valores são Disabled , Enabled e UseParentSetting . O valor padrão dessa propriedade é UseParentSetting . Para obter mais informações, consulte DTSLoggingMode. |
MaximumErrorCount |
É o número máximo de erros que podem acontecer antes de um contêiner parar de ser executado. O valor padrão desta propriedade é 1. Para obter mais informações, consulte MaximumErrorCount. |
Name |
É o nome do contêiner. Para obter mais informações, consulte Name. |
TransactionOption |
É a participação transacional do contêiner. Os valores são NotSupported , Supported , Required . O valor padrão dessa propriedade é Supported . Para obter mais informações, consulte DTSTransactionOption. |
Para saber a respeito de todas as propriedades que estão disponíveis para os contêineres Loop Foreach, Loop For, Sequência e Host da Tarefa ao configurá-los programaticamente, consulte os seguintes tópicos da API de Integration Services :
T:Microsoft.SqlServer.Dts.Runtime.ForEachLoop
T:Microsoft.SqlServer.Dts.Runtime.ForLoop
T:Microsoft.SqlServer.Dts.Runtime.Sequence
T:Microsoft.SqlServer.Dts.Runtime.TaskHost
Objetos que estendem a funcionalidade do contêiner
Os contêineres incluem fluxos de controle que consistem em executáveis e restrições de precedência e podem usar manipuladores de eventos e variáveis. O contêiner host da tarefa é uma exceção: como o contêiner host da tarefa encapsula uma única tarefa, ele não usa restrições de precedência.
Executáveis
Os executáveis referem-se às tarefas do nível de contêiner e a qualquer contêiner dentro do contêiner. Um executável pode ser uma das tarefas e dos contêineres que o Integration Services fornece ou uma tarefa personalizada. Para obter mais informações, consulte Tarefas do Integration Services e Contêineres do Integration Services.
Restrições de precedência
As restrições de precedência vinculam contêineres e tarefas dentro do mesmo contêiner pai em um fluxo de controle ordenado. Para obter informações, consulte Restrições de precedência.
Manipuladores de eventos
Os manipuladores de eventos no nível de contêiner respondem a eventos gerados pelo contêiner ou aos objetos nele incluídos. Para obter mais informações, confira Manipuladores de Eventos do Integration Services (SSIS).
Variáveis
As variáveis usadas em contêineres incluem as variáveis do sistema no nível de contêiner fornecidas pelo Integration Services e as variáveis definidas pelo usuário usadas pelo contêiner. Para obter mais informações, consulte Variáveis do SSIS (Integration Services).
Pontos de interrupção
Quando você define um ponto de interrupção em um contêiner e a condição de interrupção é Interromper quando o contêiner recebe o evento OnVariableValueChanged, defina a variável no escopo de contêiner.