Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Задача "Скрипт" предоставляет код для выполнения функций, недоступных во встроенных задачах и преобразованиях, предоставляемых службами SQL Server Integration Services. Задача "Скрипт" также может объединять функции в один скрипт вместо использования нескольких задач и преобразований. Вы используете задачу "Скрипт" для работы, которая должна выполняться один раз в пакете (или один раз для каждого перечисленного объекта), а не один раз для каждой строки данных.
Задача «Скрипт» позволяет выполнять следующее:
Доступ к данным с помощью других технологий, которые не поддерживаются встроенными типами подключений. Например, скрипт может использовать интерфейсы службы Active Directory (ADSI) для доступа к именам пользователей из Active Directory.
Создайте счетчик производительности для конкретного пакета. Например, скрипт может создать счетчик производительности, обновляемый во время выполнения сложной или плохо выполняющей задачи.
Определите, являются ли указанные файлы пустыми или сколько строк они содержат, а затем на основе этой информации влияют на поток управления в пакете. Например, если файл содержит нулевые строки, значение переменной, равное 0, и ограничение приоритета, которое оценивает значение, предотвращает копирование файла задаче файловой системы.
Если вы должны использовать скрипт для одной и той же работы для каждой строки данных в наборе, следует использовать компонент скрипта вместо задачи "Скрипт". Например, если вы хотите оценить разумность объема отправки и пропустить строки данных с очень высоким или низким уровнем, вы будете использовать компонент скрипта. Дополнительные сведения см. в статье Script Component.
Если несколько пакетов используют скрипт, рассмотрите возможность написания настраиваемой задачи вместо использования задачи "Скрипт". Дополнительные сведения см. в разделе Разработка пользовательской задачи.
После того как вы решите, что задача скрипта подходит для пакета, необходимо как разработать сценарий, который использует задача, так и настроить саму задачу.
Написание и запуск скрипта, который использует задача
Задача "Скрипт" использует средства 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, который среда выполнения Службы интеграции вызывает в качестве точки входа в код скриптовой задачи.
Укажите язык скрипта.
При необходимости укажите списки переменных, доступных только для чтения, и переменных, доступных для чтения и записи, для использования в скрипте.
Эти свойства можно задать с помощью конструктора служб SSIS или программно.
Настройка задачи скрипта в конструкторе
В следующей ScriptTaskLogEntry таблице описывается событие, которое можно регистрировать для задачи "Скрипт". Событие ScriptTaskLogEntry выбрано для ведения журнала на вкладке "Сведения " диалогового окна "Настройка журналов служб SSIS ". Дополнительные сведения см. в разделе логирование служб Integration Services (SSIS) и настраиваемые сообщения для логирования.
| Запись журнала | Описание |
|---|---|
ScriptTaskLogEntry |
Сообщает результаты реализации ведения журнала в скрипте. Задача записывает запись журнала для каждого вызова Log метода Dts объекта. Задача записывает эти записи при запуске кода. Дополнительные сведения см. в разделе "Ведение журнала в задаче Скрипт". |
Дополнительные сведения о свойствах, которые можно задать в конструкторе служб SSIS, см. в следующих разделах:
Дополнительные сведения о настройке этих свойств в конструкторе служб SSIS см. в следующем разделе:
Настройка задачи скрипта программным способом
Дополнительные сведения о программном задании этих свойств см. в следующем разделе: