Как мне проверить статус задания из потока управления SSIS?

StackOverflow https://stackoverflow.com/questions/39780

  •  09-06-2019
  •  | 
  •  

Вопрос

Вот мой сценарий - у меня есть задание SSIS, которое зависит от другого предыдущего выполняемого задания SSIS.Мне нужно иметь возможность проверить статус первого задания, прежде чем приступать ко второму.Невозможно добавить 2-е задание в рабочий процесс первого, так как оно и так слишком сложное.Я хочу иметь возможность проверять статус первого задания (сбой, Успех, Выполняется в данный момент) по статусу второго и использовать это как условие, чтобы решить, следует ли запускать второе задание или ждать повторной попытки.Я знаю, что это можно сделать, запросив базу данных MSDB на сервере SQL, на котором выполняется задание.Мне интересно, есть ли более простой способ, например, возможно, с помощью задачи чтения данных WMI?У кого-нибудь был такой опыт?

Это было полезно?

Решение

Возможно, вы захотите создать третий пакет, который запускает packageA, а затем PackageB.Третий пакет будет содержать только две задачи пакета execute.

http://msdn.microsoft.com/en-us/library/ms137609.aspx

@Craig Таблица состояния - это вариант, но вам придется продолжать следить за ней.

Вот статья о событиях в SSIS для вашего первоначального вопроса.
http://www.databasejournal.com/features/mssql/article.php/3558006

Другие советы

Почему бы не использовать стол? Просто попросите первую работу обновить таблицу, указав ее статус. Второе задание может использовать таблицу для проверки статуса. Это должно сработать, если я правильно читаю вопрос. Таблица будет (должна) иметь только одну строку, поэтому она не будет снижать производительность и не должна вызывать взаимоблокировку (конечно, теперь, когда я ее напишу, это произойдет):)

@Jason: Да, вы можете следить за ним или у вас может быть триггер, запускающий второе задание, когда будет получен конечный статус. :)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top