Поделиться через


Множественные транзакции

Пакет служб Integration Services может включать несколько несвязанных транзакций. Это случается, если пакет содержит иерархию вложенных контейнеров, один из которых не поддерживает транзакции, а для остальных контейнеров необходимы транзакции. Вложенные контейнеры, которым требуются транзакции, запускают отдельные собственные транзакции. Эти транзакции проходят фиксацию или откат, начиная с задачи с самым большим уровнем вложенности в иерархии контейнеров пакета. Однако после фиксации транзакции вложенного контейнера ее откат в случае прерывания внешней транзакции не выполняется.

Например, пакет включает контейнер последовательности, содержащий два контейнера «цикл по каждому элементу», каждый из которых содержит две задачи «Выполнение SQL». На следующей схеме показан этот пример пакета.

Реализация множественных транзакций

В этом примере пакета свойства TransactionOption контейнера последовательности, контейнеров «цикл по каждому элементу» и задач «Выполнение SQL» установлены следующим образом.

  • Свойство TransactionOption контейнера последовательности установлено в значение Required.

  • Свойства TransactionOption контейнеров «цикл по каждому элементу» установлены в значение NotSupported.

  • Свойства TransactionOption задач «Выполнение SQL» установлены в значение Required.

С такими значениями свойств TransactionOption в примере пакета будет пять несвязанных транзакций. Контейнер «последовательность» запускает одну транзакцию, а каждая из четырех задач «Выполнение SQL» запускает собственную транзакцию. Кроме того, транзакции, которые запускаются задачами «Выполнение SQL», не будут подвергаться откату в случае, если транзакция в задаче последовательности окажется прерванной.

Значок служб Integration Services (маленький)Будьте в курсе новых возможностей cлужб Integration Services

Чтобы загружать новейшую документацию, статьи, образцы и видеоматериалы от корпорации Майкрософт, а также лучшие решения от участников сообщества, посетите страницу служб Integration Services на сайтах MSDN или TechNet:

Чтобы получать автоматические уведомления об этих обновлениях, подпишитесь на RSS-каналы, предлагаемые на этой странице.