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


Задача «Скрипт»

Задача «Скрипт» представляет код для выполнения функций, недоступных в задачах и преобразованиях, предоставляемых средствами служб 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 и Microsoft Visual C#.

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

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

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

Настройка задачи «Скрипт»

Задачу «Скрипт» можно настроить следующими способами:

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

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

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

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

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

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

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

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

Описание

ScriptTaskLogEntry

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

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

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

Программная настройка задачи «Скрипт»

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

См. также

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

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


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