Compartilhar via


Transações do Integration Services

Os pacotes usam transações para associar as ações do banco de dados realizadas pelas tarefas em unidades atômicas e, ao fazer isso, a integridade dos dados é mantida. Todos os tipos de contêineres do Microsoft Integration Services, como os pacotes, o Loop For, o Loop Foreach, os contêineres de sequência e os hosts de tarefa que encapsulam cada tarefa, podem ser configurados para usar transações. Integration Services fornece três opções para configurar transações: Sem Suporte, Há Suportee Necessário.

  • Necessário indica que o contêiner inicia uma transação, a menos que uma já tenha sido iniciada por seu contêiner pai. Se uma transação já existir, o contêiner se unirá à transação. Por exemplo, se um pacote que não está configurado para dar suporte a transações incluísse um contêiner Sequência que usa a opção Necessário , o contêiner iniciaria sua própria transação. Se o pacote fosse configurado para usar a opção Necessário , o contêiner Sequência se uniria à transação do pacote.

  • Há Suporte indica que o contêiner não inicia uma transação, mas se une a qualquer transação iniciada por seu contêiner pai. Por exemplo, se um pacote com quatro tarefas Executar SQL iniciar uma transação e todas as quatro tarefas usarem a opção Há Suporte , as atualizações de banco de dados realizadas pelas tarefas Executar SQL serão revertidas se qualquer tarefa falhar. Se o pacote não iniciar uma transação, as quatro tarefas Executar SQL não serão associadas por uma transação e nenhuma atualização de banco de dados, exceto as realizadas pela tarefa que falhou, será revertida.

  • Sem Suporte indica que o contêiner não inicia uma transação ou se une a uma transação existente. Uma transação iniciada por um contêiner pai não afeta contêineres filhos que foram configurados para não suportar transações. Por exemplo, se um pacote for configurado para iniciar uma transação e um contêiner Loop For no pacote usar a opção Sem Suporte , nenhuma das tarefas no Loop For poderão ser revertidas se falharem.

Você configura transações definindo a propriedade TransactionOption no contêiner. É possível definir essa propriedade na janela Propriedades no SQL Server Data Tools (SSDT)ou definir a propriedade programaticamente.

Observação

A propriedade TransactionOption influencia a aplicação ou não do valor da propriedade IsolationLevel solicitada por um contêiner. Para obter mais informações, consulte a descrição da IsolationLevel propriedade no tópico, Configurando propriedades do pacote.

Para configurar um pacote para usar transações

Recursos externos

Consulte Também

Transações herdadas
Transações múltiplas