Главная » Microsoft SQL Server, Базы данных » Элементы пакетов службы интеграции – ЧАСТЬ 2

0

?               MSMQ. Определяет подключение к очереди сообщений Microsoft Message Queue и используется задачей Message Queue для приема и отправки сообщений.

?               SMO. Определяет имя и метод аутентификации для использования заданиями перемещения баз данных (Transfer Ob j ects, Transfer Logins и т.п.).

?               SMTP. Определяет имя сервера SMTP, используемого в задании отправки почты. Старые версии серверов SMTP могут не поддерживать все команды, необходимые для отправки сообщений электронной почты из службы интеграции.

?               WMI. Определяет подключение к серверу, необходимое для задания Windows Management Instrumentation, позволяющего накапливать протоколируемые данные о событиях.

Элементы потока управления

Вкладка Control Flow предлагает среду для создания общего потока заданий в пакете. Следующие элементы являются конструктивными блоками рабочего потока.

Контейнеры

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

В дополнение к контейнерам конструктор службы интеграции позволяет создавать группы заданий. Создание группы выполняется с помощью выделения нескольких элементов потока управления, щелчка правой кнопкой мыши на любом из выделенных объектов и выбора в контекстном меню пункта Group. Выделенные задания обрамляются блоком группы и могут быть свернуты в единый элемент. Следует особо отметить, что группа не имеет собственных свойств и не может участвовать в иерархии заданий контейнера. Короче говоря, группу можно рассматривать как визуальный элемент, не оказывающий влияния на выполнение пакета.

В службе интеграции доступны следующие типы контейнеров.

?               TaskHost. Этот контейнер не виден в пакете. Он неявно обслуживает все задачи, не вошедшие ни в один контейнер тем или иным образом. Знание о наличии этого невидимого контейнера поможет вам понять режим обработки ошибок и событий, принятый по умолчанию.

?               Sequence. Объединяет задания в один блок, не реализуя каких-либо итеративных функций. Он просто обеспечивает заданиям единый контекст обработки ошибок и событий, а также доступ к определенным на уровне контейнера переменным; позволяет на этапе отладки отключить весь контейнер.

?               For Loop. Обладает всеми свойствами контейнера Sequence, дополнительно обеспечивая циклическое выполнение включенных в него заданий (подобно циклам в С#). Например, если свойству InitExpression этого контейнера присвоить выражение @LoopCount = 0, свойству EvalExpression— @LoopCount<3, а свойству AssignExpression— @LoopCount=@LoopCount+l, то содержимое контейнера будет выполнено три раза, при этом переменная ©LoopCount будет последовательно принимать значения 0, 1 и 2.

?               Foreach Loop. Содержимое контейнера выполняется итеративно, однако на основании различных списков элементов:

•                File — на основании списка файлов, содержащихся в заданном каталоге (при этом могут использоваться символы макроподстановки);

•                Item — на основании всех элементов списка, созданного вручную;

•                ADO — на основании всех строк переменной, содержащей набор записей ADO или набор данных ADO.NET;

•                ADO.NET Schema Rowset — на основании всех элементов набора строк схемы;

•                Nodelist — на основании всех узлов, содержащихся в результирующем наборе XPath;

•                SMO — на основании списка серверных объектов (в частности, заданий, баз данных и файловых групп).

Список, на основании которого выполняется итерация, определяется на странице Collections, а затем отображается на конкретную переменную. Например, цикл File требует наличия одной строковой переменной, отображенной на индекс 0, а цикл ADO требует п переменных (т.е. для каждого столбца) с индексами от 0 до п-1.

Задания потока управления

В поток управления могут быть включены следующие задачи.

?               ActiveX Script. Позволяет включить в поток старые сценарии, написанные на языках Visual Basic и Java; для новых сценариев лучше использовать задание Script. Если такое возможно, подумайте о переводе старых сценариев на новые рельсы.

?               Analysis Services Execute DDL. Отправка сценариев ASSL в службу анализа для создания, изменения и обработки кубов и структур раскрытия данных. Часто такие сценарии могут создаваться в редакторе сценариев утилиты Management Studio.

?               Analysis Services Processing Task. Идентифицирует базы данных службы анализа, список обрабатываемых объектов и операционные параметры.

?               Bulk Insert. Реализует быстрый механизм загрузки “плоских” файлов в таблицы базы данных без преобразований. Определите файл источника и таблицу назначения — это минимальная конфигурация. Если в качестве источника выступает файл с разделителями, определите разделители строк и столбцов. В противном случае создайте файл формата, описывающий композицию источника данных. Определите столбцы сортировки, соответствующие кластеризованным ключам таблицы назначения, что позволит минимизировать фрагментацию таблицы. Ошибочные строки не перенаправляются; их обнаружение приводит к ошибочному завершению задания.

Пользователи, знакомые со службой преобразования данных (DTS) в версии Новинка % SQL Server 2000, будут пытаться установить такие параметры, как Batchsize 2005 с                            (размер пакета), чтобы повысить быстродействие и поддерживать размеры

журнала транзакций на минимальной отметке. Однако следует заметить, что в службе интеграции изменение этих параметров не желательно, так как часто приводит к эффекту, противоположному тому, к какому приводил в DTS.

?               Data Flow. Обеспечивает гибкую структуру для загрузки, преобразования и хранения данных, конфигурируемую во вкладке Data Flow. Подробнее о компонентах потока данных мы поговорим чуть позже в этой главе.

?               Data Mining Query. Запуск запросов прогнозирования относительно существующих учебных моделей раскрытия данных. Во вкладке Mining Model укажите подключение к базе данных службы анализа и имя структуры раскрытия данных. Во вкладке Build Query введите запрос DMX; при этом, если необходимо, щелкните на кнопке Build New Query, чтобы запустить построитель запросов. Запрос DMX может быть параметризованным; при этом имена параметров помещаются в строку запроса в форме @имя_ параметра. Если используются параметры, во вкладке Parameter Mapping отобразите их имена (опуская префикс @) на соответствующие имена переменных. Результаты обрабатываются либо путем направления их переменным во вкладке Result Set, либо таблицам базы данных во вкладке Output (или то и другое одновременно).

•                Результирующие наборы данных, состоящие из одной строки, могут направляться непосредственно переменным. При этом во вкладке Result Set для определенного столбца результирующего набора назначается целевая переменная и выбирается тип результата S i ng 1 е Row.

•                Многострочные результирующие наборы данных могут сохраняться в переменных типа Object для дальнейшего использования в контейнерах Foreach или для других целей. Во вкладке Result Set укажите в имени столбца нуль, определите имя переменной и установите тип Full Result Set.

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

Execute DTS 2000 Package. Позволяет запускать на выполнение старые пакеты DTS в составе рабочего потока службы интеграции. Укажите местонахождение пакета DTS, регистрационную информацию и способ отображения внутренних переменных на внешние. Дополнительно, если пакет DTS идентифицирован, он может быть загружен как часть пакета службы интеграции.

Execute Package. Выполняет заданный пакет службы интеграции. Это позволяет разбивать крупные пакеты на ряд мелких, предназначенных для многократного использования. Привлечение дополнительных пакетов накладывает на системные ресурсы дополнительную нагрузку, поэтому дважды подумайте, прежде чем создавать дочерние пакеты. Например, использование для одного файла одного-двух пакетов вполне разумно, в то время как использование отдельного пакета для каждой строки — определенно нет. Дочерние пакеты участвуют в транзакции, если для этого сконфигурировано задание Execute Package. Переменные, доступные для задания Execute Package, также доступны и для дочерних пакетов, если предусмотреть в них соответствующую конфигурацию, отображающую каждую переменную родительского пакета на локальную переменную дочернего (если такое необходимо).

Execute Process. Выполнение внешней программы или пакетного файла. В параметре Executable задайте выполняемую программу, обязательно включая расширение и полный путь к файлу, если тот не содержится в системной переменной среды PATH. Поместите в параметр Arguments все переключатели и аргументы, которые обычно следуют за именем программы в командной строке. Установите дополнительные параметры, такие как WorkingDirectory и SuccessValue, чтобы служба интеграции знала о работоспособности процесса. Параметр StandardInputVariable позволяет передать в приложение текст переменной, помещая ее в поток Stdln. Этот параметр используется для таких программ, как find и grep. Параметры StandardOutputVariable и StandardErrorVariable позволяют приложению помещать сообщения (обычные и об ошибках) в переменные.

Execute SQL. Выполнение сценария или запроса SQL, при необходимости возвращая их результаты в переменные. На странице General редактора установите параметры ConnectionType и Connection в базу данных, относительно которой будет выполняться запрос. Параметр SQLSourceType определяет способ ввода запроса.

Источник: Нильсен, Пол. Microsoft SQL Server 2005. Библия пользователя. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2008. — 1232 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии