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


Транзакции служб Integration Services

Пакеты используют транзакции для связывания выполняемых в базе данных задачами операций в атомарные объекты, и, таким образом, сохраняют целостность данных. Все типы контейнеров служб Microsoft Службы Integration Services (пакеты, контейнеры циклов по элементам и по каждому элементу, контейнеры последовательности, а также серверы задач, которые содержат каждую задачу) могут быть настроены для использования транзакций. Службы Integration Services предоставляют три параметра для настройки транзакций: NotSupported, Supportedи Required.

  • Required указывает, что контейнер запускает транзакцию, если она еще не запущена родительским контейнером. Если транзакция уже существует, контейнер с ней соединяется. Например, если пакет, не настроенный для поддержки транзакций, содержит контейнер последовательности, использующий параметр Required , то контейнер последовательности начнет свою собственную транзакцию. Если бы пакет был настроен для использования параметра Required , контейнер последовательности соединился бы с транзакцией пакета.

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

  • NotSupported указывает, что контейнер не начинает транзакцию и не соединяется с существующей транзакцией. Транзакция, запущенная родительским контейнером, не влияет на дочерние контейнеры, которые не были настроены на поддержку транзакций. Например, если пакет был настроен на запуск транзакции, а контейнер «цикл по элементам» в пакете использует параметр NotSupported , то в случае неудачи откат каких-либо задач в контейнере «цикл по элементам» невозможен.

Настройка транзакций происходит с помощью свойства контейнера TransactionOption. Установить это свойство можно в окне Свойства в среде SQL Server Data Tools (SSDT)или программным путем.

Примечание

Cвойствo TransactionOption влияет на то, применяется ли значение свойства IsolationLevel, запрашиваемого контейнером. Дополнительные сведения см. в описании IsolationLevel свойства в разделе Настройка свойств пакета.

Настройка пакета на использование транзакций

Внешние ресурсы

См. также:

Наследуемые транзакции
Множественные транзакции