Правильно ли работает параллельное выполнение в SSIS?

Может ли кто-нибудь сказать: «Есть ли какие-либо приоритеты в командах ddl и dml?»

Потому что я столкнулся со сценарием, в котором у меня есть пакет ssis, в котором у меня есть одна задача потока данных в потоке управления, работа которой заключается в передаче данных из источника плоского файла (имя файла: Table_A с 50 записями) в Назначение OLEDB (Таблица_A). У меня есть другая задача под названием Выполнить команду SQL Server в той же области потока управления, которая удаляет все данные из той же таблицы (Table_A).

Запустив этот пакет в первый раз, я заметил, что обе задачи выполняются параллельно.

1-й запуск: обе задачи успешно выполнены с зелеными галочками. В базе данных были данные (все 10 записей). Данные не удаляются задачей удаления.

2-й запуск: обе задачи успешно выполнены с зелеными галочками. Все данные удалены.

3-й запуск: Обе задачи успешно выполнены с зелеными галочками. Данных не было, и после того, сколько раз я запускал пакет, я видел, что данных нет в таблице.

Теперь кто-нибудь может сказать, какая задача выполнялась и почему я видел данные при первом запуске и не видел данных при втором запуске.


person Naresh    schedule 24.05.2016    source источник


Ответы (1)


Да, если нет ограничений приоритета, заставляющих задачи выполняться в определенном порядке, они будут выполняться параллельно. Нет никакой гарантии, в каком порядке они начнутся/закончатся.

Логичное объяснение того, что вы видели:

1-й запуск — сначала завершилась задача «Удалить», а затем задача «DataFlow» заполнила таблицу.

2-й запуск и все последующие запуски, задача DataFlow завершается первой, а задача Удалить завершается последней, удаляя все данные.

person Tab Alleman    schedule 24.05.2016