Задача «Сценарий»
Задача «Сценарий» представляет код для выполнения функций, недоступных в задачах и преобразованиях, предоставляемых средствами служб SQL ServerIntegration Services. Задача «Сценарий» также позволяет объединять функции в одном сценарии вместо использования нескольких задач и преобразований. Задачу «Сценарий» следует использовать для выполнения операций над пакетом (или над каждым перечисленным объектом), а не над каждой строкой данных.
Задача сценария позволяет выполнять следующее:
Получать доступ к данным с помощью дополнительных технологий, не поддерживаемых встроенными типами соединений. Например, сценарий может использовать интерфейсы служб каталогов Active Directory (ADSI) для обращения и извлечения имен пользователей из Active Directory.
Создавать счетчики производительности специально для конкретного пакета. Например, сценарий может создать счетчик производительности, обновляемый при выполнении сложной или медленно работающей задачи.
Определять, пусты ли указанные файлы или сколько строк в них содержится, а затем на основании этой оценки влиять на поток управления в пакете. Например, если в файле нет строк, значение переменной равно 0, а управление очередностью, вычисляющее значение, не позволяет задаче «Файловая система» копировать файл.
Если необходимо использовать сценарий для выполнения одинаковых операций над каждой строкой в наборе, следует использовать компонент сценария, а не задачу «Сценарий». Например, если необходимо определить адекватность почтовых расходов и пропустить записи с очень большими или очень маленькими суммами, следует использовать компонент сценария. Дополнительные сведения см. в разделе Компонент сценария.
Если сценарий используется несколькими пакетами, рекомендуется написать пользовательскую задачу, а не использовать задачу «Сценарий». Дополнительные сведения см. в разделе Разработка пользовательской задачи.
Если в пакете решено использовать задачу «Сценарий», необходимо разработать сценарий, используемый задачей, и настроить саму задачу.
Разработка и выполнение сценария, используемого задачей
Задача «Сценарий» использует средства MicrosoftVisual Studio для приложений (VSTA) в качестве среды для разработки сценариев и обработчика, выполняющего эти сценарии.
Среда VSTA располагает всеми стандартными функциями среды Visual Studio, в том числе редактором Visual Studio с выделением цветом, технологией IntelliSense и обозревателем объектов. Среда VSTA использует тот же отладчик, что и другие средства разработки Майкрософт. Точки останова в сценарии прозрачно совмещаются с точками останова в задачах и контейнерах служб Integration Services. Среда VSTA поддерживает языки программирования MicrosoftVisual Basic 2008 и MicrosoftVisual C# 2008.
Чтобы запустить сценарий, на компьютере, где работает пакет, должна быть установлена среда VSTA. При выполнении пакета задача загружает ядро сценария и запускает его. Обращаться к внешним сборкам .NET в сценариях можно, добавив ссылки на них в проект.
Примечание |
---|
В отличие от предыдущих версий, где можно было указать, являются ли сценарии предварительно скомпилированными, в версии SQL Server 2008 Integration Services (SSIS) все сценарии компилируются заранее. Если сценарий компилируется заранее, то во времени выполнения не загружается языковая подсистема и пакет выполняется быстрее. Однако заранее скомпилированные двоичные файлы занимают значительное место на диске. |
Настройка задачи сценария
Задачу сценария можно настроить следующими способами:
Предоставить пользовательский сценарий, выполняемый задачей.
Укажите в проекте VSTA метод, который службы Integration Services вызывают во время выполнения как точку входа в код задачи «Сценарий».
Укажите язык сценария.
При необходимости предоставить списки используемых в сценарии переменных чтения и записи и только чтения.
Эти свойства можно задать с помощью конструктора служб SSIS или программно.
Настройка задачи «Сценарий» в конструкторе
В следующей таблице описано событие ScriptTaskLogEntry, которое может быть зарегистрировано для задачи «Сценарий». Событие ScriptTaskLogEntry выбирается для регистрации на вкладке Подробности диалогового окна Настройка журналов служб SSIS. Дополнительные сведения см. в разделах Реализация ведения журналов в пакетах и Пользовательские сообщения для ведения журнала.
Запись журнала |
Описание |
---|---|
ScriptTaskLogEntry |
Сообщает о результатах выполнения операции ведения журнала в сценарии. Задача формирует запись журнала для каждого вызова метода Log объекта Dts. Задача формирует эти записи в момент запуска кода. Дополнительные сведения см. в разделе Ведение журнала в задаче «Сценарий». |
Дополнительные сведения о свойствах, которые можно задать в конструкторе служб SSIS, см. в следующих разделах:
Дополнительные сведения об установке этих свойств в конструкторе служб SSIS см. в следующем разделе:
Программная настройка задачи сценария
Дополнительные сведения об установке этих свойств программным способом см. в следующем разделе.
|