Множественные транзакции
В одном пакете служб Службы Integration Services может содержаться несколько самостоятельных транзакций. Каждый раз, когда контейнер в середине иерархии вложенных контейнеров не поддерживает транзакции, контейнеры выше и ниже по иерархии начинают отдельные транзакции, если настроены для поддержки транзакций. Транзакции фиксируются или откатываются, начиная с самой глубокой задачи в иерархии вложенных контейнеров пакета. Однако после фиксации вложенной транзакции она не откатывается, если внешняя транзакция прервана.
Иллюстрация множественных транзакций
Например, пакет включает контейнер последовательности, содержащий два контейнера «цикл по каждому элементу», и каждый контейнер включает две задачи «Выполнение SQL». Контейнеры «цикл по каждому элементу» не поддерживают транзакции, а контейнер последовательности и задача «Выполнение SQL» поддерживают. В данном примере каждая задача «Выполнение SQL» будет выполнять свою собственную транзакцию и не будет подвергаться откату в случае, если транзакция в задаче последовательности окажется прерванной.
Свойства TransactionOption контейнера последовательности, контейнера «цикл по каждому элементу» и задач «Выполнение SQL» установлены следующим образом:
Свойство TransactionOption контейнера последовательности установлено в значение Required.
Свойства TransactionOption контейнеров «цикл по каждому элементу» установлены в значения NotSupported.
Свойства TransactionOption задач «Выполнение SQL» установлены в значения Required.
На следующей диаграмме показаны пять несвязанных транзакций в пакете. Одна транзакция была начата контейнером последовательности, а четыре других — задачами «Выполнение SQL».
Связанные задачи
Настройка пакета для использования транзакций
См. также
|