Поделиться через


Задача «Сценарий»

Задача «Скрипт» представляет код для выполнения функций, недоступных в задачах и преобразованиях, предоставляемых средствами служб SQL Server Integration Services. Задача «Сценарий» также позволяет объединять функции в одном сценарии вместо использования нескольких задач и преобразований. Задачу «Сценарий» следует использовать для выполнения операций над пакетом (или над каждым перечисленным объектом), а не над каждой строкой данных.

Задача сценария позволяет выполнять следующее:

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

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

  • Определять, пусты ли указанные файлы или сколько строк в них содержится, а затем на основании этой оценки влиять на поток управления в пакете. Например, если в файле нет строк, значение переменной равно 0, а управление очередностью, вычисляющее значение, не позволяет задаче «Файловая система» копировать файл.

Если необходимо использовать сценарий для выполнения одинаковых операций над каждой строкой в наборе, следует использовать компонент сценария, а не задачу «Сценарий». Например, если необходимо определить адекватность почтовых расходов и пропустить записи с очень большими или очень маленькими суммами, следует использовать компонент сценария. Дополнительные сведения см. в разделе Компонент сценария.

Если сценарий используется несколькими пакетами, рекомендуется написать пользовательскую задачу, а не использовать задачу «Сценарий». Дополнительные сведения см. в разделе Разработка пользовательской задачи.

Если в пакете решено использовать задачу «Сценарий», необходимо разработать сценарий, используемый задачей, и настроить саму задачу.

Разработка и выполнение сценария, используемого задачей

Задача «Сценарий» использует средства Microsoft Visual Studio для приложений (VSTA) в качестве среды для разработки сценариев и обработчика, выполняющего эти сценарии.

Среда VSTA располагает всеми стандартными функциями среды Visual Studio, в том числе редактором Visual Studio с выделением цветом, технологией IntelliSense и обозревателем объектов. Среда VSTA использует тот же отладчик, что и другие средства разработки Майкрософт. Точки останова в скрипте прозрачно совмещаются с точками останова в задачах и контейнерах служб Integration Services. Среда VSTA поддерживает оба языка программирования: Microsoft Visual Basic 2008 и Microsoft Visual C# 2008.

Чтобы запустить сценарий, на компьютере, где работает пакет, должна быть установлена среда VSTA. При выполнении пакета задача загружает ядро сценария и запускает его. Обращаться к внешним сборкам .NET в сценариях можно, добавив ссылки на них в проект.

ПримечаниеПримечание

В отличие от предыдущих версий, где можно было указать, являются ли сценарии предварительно скомпилированными, в версии SQL Server 2008 Integration Services (SSIS) все сценарии компилируются заранее. Если сценарий компилируется заранее, то во времени выполнения не загружается языковая подсистема и пакет выполняется быстрее. Однако заранее скомпилированные двоичные файлы занимают значительное место на диске.

Настройка задачи сценария

Задачу сценария можно настроить следующими способами:

  • Предоставить пользовательский сценарий, выполняемый задачей.

  • Укажите в проекте VSTA метод, который службы Integration Services вызывают во время выполнения как точку входа в код задачи «Сценарий».

  • Укажите язык сценария.

  • При необходимости предоставить списки используемых в сценарии переменных чтения и записи и только чтения.

Эти свойства можно задать с помощью конструктора служб SSIS или программно.

Настройка задачи «Сценарий» в конструкторе

В следующей таблице описано событие ScriptTaskLogEntry, которое может быть зарегистрировано для задачи «Сценарий». Событие ScriptTaskLogEntry выбирается для регистрации на вкладке Подробности диалогового окна Настройка журналов служб SSIS. Дополнительные сведения см. в разделах Реализация ведения журналов в пакетах и Пользовательские сообщения для ведения журнала.

Запись журнала

Описание

ScriptTaskLogEntry

Сообщает о результатах выполнения операции ведения журнала в сценарии. Задача формирует запись журнала для каждого вызова метода Log объекта Dts. Задача формирует эти записи в момент запуска кода. Дополнительные сведения см. в разделе Ведение журнала в задаче «Скрипт».

Дополнительные сведения о свойствах, которые можно задать в конструкторе служб SSIS, см. в следующих разделах:

Дополнительные сведения об установке этих свойств в конструкторе служб SSIS см. в следующем разделе:

Программная настройка задачи сценария

Дополнительные сведения об установке этих свойств программным способом см. в следующем разделе:

Внешние ресурсы

Значок служб Integration Services (маленький) Оставайтесь в курсе новых возможностей служб Integration Services

Новейшую документацию, статьи, образцы и видеоматериалы корпорации Майкрософт, а также лучшие решения участников сообщества см. на странице служб Integration Services на сайте MSDN.

Чтобы получать автоматические уведомления об этих обновлениях, подпишитесь на RSS-каналы, предлагаемые на этой странице.