Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SSIS как узнать число Task'ов выполняемых в пакете?  [new]
Santa89
Member

Откуда:
Сообщений: 1494
Нужно при выполнении пакета получить инфо в виде:
Имя_Пакета, Количество_Задач
16 сен 15, 12:17    [18155330]     Ответить | Цитировать Сообщить модератору
 Re: SSIS как узнать число Task'ов выполняемых в пакете?  [new]
Santa89
Member

Откуда:
Сообщений: 1494
Блин, такая простая, казалось бы, задача, а инфы по ней нет совсем...
16 сен 15, 13:36    [18155795]     Ответить | Цитировать Сообщить модератору
 Re: SSIS как узнать число Task'ов выполняемых в пакете?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4807
Santa89
Блин, такая простая, казалось бы, задача, а инфы по ней нет совсем...



Получить где? И для чего ?
16 сен 15, 14:07    [18156112]     Ответить | Цитировать Сообщить модератору
 Re: SSIS как узнать число Task'ов выполняемых в пакете?  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4392
Santa89
Блин, такая простая, казалось бы, задача, а инфы по ней нет совсем...

в базе MSDB живет такая табличка syssisspackages, в ней поле packagedata.
Конвертируйте его в XML и получите текст пакета.
Распарсите его и получите всю информацию о количестве компонентов, их типе и т.п.
Потом это все опишите и будет вам респект и уважуха!
16 сен 15, 14:13    [18156151]     Ответить | Цитировать Сообщить модератору
 Re: SSIS как узнать число Task'ов выполняемых в пакете?  [new]
Santa89
Member

Откуда:
Сообщений: 1494
SQL2008,

у меня пакеты лежат в файловой системе.
а по сути вы правы - залезаем в код пакета и выдергиваем из него инфо о тасках.

ссылка ниже, может быть кому то это пригодится
http://sqlblog.com/blogs/jamie_thomson/archive/2009/10/18/collecting-information-about-your-ssis-packages-ssis-nugget.aspx

a_voronin,
получить при выполнении пакета в EventHandler'ах например.
для чего? - построить аналитику по времени выполнении пакета, касаемо моего примера - сколько тасков в пакете есть и сколько из них уже выполнилось успешно.
16 сен 15, 14:29    [18156272]     Ответить | Цитировать Сообщить модератору
 Re: SSIS как узнать число Task'ов выполняемых в пакете?  [new]
BrokenPot
Member

Откуда: Киев
Сообщений: 1405
Можно журнал вести во время выполнения (таблица в БД), отмечая в нем начало каждого таска, завершение каждого таска и ошибку, если такая была, выполнявшегося таска.

Использовать для этого обрабочики событий OnPreExecute, OnPostExecute, OnError.

Для каждого таска определять обрабочики не нужно.

Следует таски всего пакета поместить в один большой Sequence Container и для контейнера определить обработчики. Они будут выполняться для каждого таска, находящегося внутри контейнера.
16 сен 15, 14:51    [18156435]     Ответить | Цитировать Сообщить модератору
 Re: SSIS как узнать число Task'ов выполняемых в пакете?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4807
Santa89
построить аналитику по времени выполнении пакета, касаемо моего примера - сколько тасков в пакете есть и сколько из них уже выполнилось успешно.


А не проще проаггрегировать логи пакета?
16 сен 15, 15:38    [18156770]     Ответить | Цитировать Сообщить модератору
 Re: SSIS как узнать число Task'ов выполняемых в пакете?  [new]
Santa89
Member

Откуда:
Сообщений: 1494
BrokenPot, a_voronin

это уже итак всё делается через обработчики событий.
а вот как вы построите план-факт сегодняшнего выполнения SSIS-пакета?

факт то понятно, мы соберем по логам, а план? нужно знать сколько тасков в пакете сегодня должно будет выполниться
16 сен 15, 16:11    [18156999]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить