Это ожидаемое поведение. Когда вы запускаете задание на управление данными, агент SQL Server запускает задание и завершает всю транзакцию. Затем пакет SSIS продолжит запускать следующее задание на подписку, основанное на данных, и следующее (при условии, что вы по очереди запускаете задание).
Теперь, если вы хотите создать зависимость в том, как должны выполняться задания, то есть Job1, за которым следует Job2, а затем Job3, вам нужно вручную написать дополнительный фрагмент кода. Путь к этому - отслеживать статусный код подписки.
В базе данных ReportServer есть таблица под названием dbo.Subscriptions, содержащая столбец «LastStatus». В настоящее время в моем местном db у меня нет подписки, а также я не могу найти никакой документации для таблицы. Но я уверен, что это будет либо логический, либо флаг состояния, такой как «Sucess» или «Failure». После запуска первого задания вам нужно будет написать код .net, чтобы контролировать этот статус с интервалом опроса. Как только вы получите желаемый результат, перейдите к запуску следующего задания.
Надеюсь, это ясно. Я бы отредактировал этот ответ с помощью рабочего примера.
Спасибо VKarthik, я не программист .net, надеюсь, вы сможете предоставить коды. – Sabby
Значения флага: Выполнено: 1 обработано из 1 всего; 0 ошибок, или Ожидание или Ошибка: для этого отчета требуется ... – Sabby