logo
SQL2008_Administration

9.23. Ограничения предшественников (precedence constraints)

Ограничения предшественников (precedence constraints) предназначены для определения порядка и логики выполнения элементов в пакете. Они представлены зелеными (по умолчанию) стрелками, которые появляются для задачи или контейнера, если эту задачу или контейнер выделить на вкладке Control Flow в SSIS Designer.

Если в пакете будет несколько элементов, которые не будут связаны между собой (см. рис. 9.12), то выполнение всех этих элементов начнется одновременно. Для такой ситуации существует специальное название: несколько точек входа в пакете.

Если же вы свяжете задачи между собой ограничениями предшественников (см. рис. 9.13), то задачи будут выполняться последовательно (и, возможно, в зависимости от результатов выполнения предыдущей задачи).

Рис. 9.12. Несколько точек входа в пакете Рис. 9.13. В пакете предусмотрена единственная точка входа

Работа с ограничениями предшественников выглядит так же, как и работа с потоками ввода-ввода в Data Flow Task: нужно просто взять зеленую стрелку, которая выходит из задачи, и перетащить ее на задачу, которая должна выполняться следующей. Однако свойства ограничений предшественников сильно отличаются от свойств потоков данных в Data Flow Task.

Из контекстного меню для стрелки настраиванется ее тип:

Из одного элемента вполне могут выходить несколько стрелок. Точно так же на один элемент вполне могут указывать несколько стрелок. В последней ситуации (см. рис. 9.14) мы можем определить тип объединения для условий перехода к данной задаче:

Рис. 9.14.Для задачи Script Task 3 предусмотрено два ограничения предшественников

Проверку на успешность можно производить не только при помощи значений констант, которые возвращает задача при выполнении, но и при помощи своих собственных выражений. Их можно настроить в свойствах элемента логики выполнения.