2013-05-28 2 views
2

Я пытаюсь создать пакет SSIS, где сбой в определенном контейнере вызывает откат в потоках данных этого контейнера (и только тот контейнер). Этот пакет зависает и заканчивается только тогда, когда я прекращаю его выполнение, или я убиваю процесс через студию управления.Пакет SSIS зависает после установки транзакции контейнера «Обязательно»

Я не могу размещать изображения, поэтому я дам краткое описание.

У меня есть два контейнера. Первый имеет:

  1. Поток данных, содержащий выбор из плоского файла на две таблицы, которые я назову t_imp и h_imp.
  2. За этим следует задача обновления поля ObjCde в обеих этих таблицах.
  3. Последний поток данных в контейнере использует t_imp в качестве источника, а также дальнейшие манипуляции и перемещение данных в другие таблицы.

Третий пункт, где он идет не так. Я уже видел, что таблица t_imp заблокирована.

Опция транзакции для пакета поддерживается, требуется для первого контейнера и NotSupported для второго. (Второй контейнер содержит задачи процесса и одну задачу потока данных, которая не должна откатываться назад.) Все уровни изоляции находятся на ReadCommitted.

Что мне здесь не хватает?

Могу ли я использовать таблицу как источник и пункт назначения в одном контейнере?

Нужно ли устанавливать дополнительные параметры?

ответ

1

Вы блокируете себя, читая/вставляя в ту же таблицу. Дело не в пакете SSIS, а в том, что SQL Server блокирует таблицу, не позволяя транзакции продолжать.

+0

Означает ли это, что я не могу поместить оба потока данных в одну транзакцию? Если да, есть ли у меня альтернативный способ сделать первый откат потока данных, когда третий провалится? – Chimera

 Смежные вопросы

  • Нет связанных вопросов^_^