|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
10.28. Запуск пакетов SSIS на выполнениеЗапуск пакетов SSIS SQL Server 2005, SSIS Designer, dtexecui, dtexec, этап задания SQL Server Integration Service Package После того, как пакет создан, помещен на SQL Server и для него настроены параметры защиты, осталось сделать последнее — обеспечить его запуск на выполнение. Запустить пакет на выполнение можно несколькими способами. С первым способом вы уже знакомы. Пакет можно запустить на выполнение из той же среды, в которой он создается, т. е. из SSIS Designer. Этот вариант очень удобен для отладки. Например, вы можете при помощи меню Debug установить точки останова внутри элементов пакета и в режиме пазы проверить значения переменных. Очень удобно для отладки использовать также просмотрщика данных (Data Viewer) на вкладке Data Flow (см. разд. 10.6.5). Однако для запуска пакетов на регулярной основе использовать SSIS Designer, конечно, неудобно. Наиболее рекомендованный способ запуска пакетов — применение графической утилиты dtexecui или консольной утилиты dtexec. При этом командную строку для dtexec очень удобно генерировать при помощи графического интерфейса dtexecui. Поэтому параметры командной строки dtexec рассматриваться не будут, а возможности dtexecui рассмотрим подробно, поскольку не все они очевидны. Утилиту dtexecui можно запустить просто из командной строки операционной системы, а можно воспользоваться командой Run package (Запустить пакет) в SQL Server Management Studio. Первое, что необходимо сделать, — выбрать нужный пакет на вкладке General графического интерфейса этой утилиты. Как уже говорилось ранее, пакеты SSIS могут храниться или в виде файлов в файловой системе сервера, или в виде записей в таблице sysdtspackages90 базы данных msdb. Пакеты, которые находятся в SSIS Package Store, физически точно так же находятся в файлах на диске или в базе данных msdb, но для этих пакетов предусмотрена дополнительная информация в файлах конфигурации Integration Services. Следующая вкладка графического интерфейса dtexecui — это вкладка Configurations (Конфигурации). На этой вкладке можно добавить конфигурации для пакета (см. разд. 10.25), которые будут изменять его при выполнении. Из пяти возможных типов конфигураций для пакетов здесь вы можете выбрать только один тип — файлы конфигурации в формате XML. Все остальные типы конфигурации вам придется настраивать еще на этапе создания пакетов в SSIS Designer. На следующей вкладке, которая называется Command Files (Командные файлы), вы можете определить один или несколько текстовых файлов с командами. По наблюдениям автора, многие специалисты здесь становятся в тупик: что это за файлы с командами, про которые не найти никакого упоминания при работе с пакетами? Документация по dtexecui также не вносит никакой ясности: "Здесь можно указать командные файлы, которые будет использовать пакет". На самом деле все очень просто: в командном файле должны находиться дополнительные параметры для утилиты dtexec, которые будут передаваться ей напрямую, без возможности обработки и редактирования. Если вы укажете на этой вкладке, например, файл D:\ssis.cmd, то командная строка будет дополнена параметром /COMMANDFILE "D:\ssis.cmd". На вкладке Connection Managers будут перечислены все менеджеры подключений, имеющиеся в пакете. Если вы установите флажок напротив менеджера подключения, у вас появится возможность отредактировать строку подключения для этого менеджера. Исправленная строка подключения будет использована только на время данного запуска пакета. В основном эта возможность предоставлена для заполнения данных, которые зашифрованы пользовательским ключом, и при запуске от имени другого пользователя недоступны. На вкладке Execution Options (Параметры выполнения) можно настроить еще несколько важных параметров: q Fail the package on validation warnings (Выходить с ошибкой при проверочных предпреждениях) — если при проверке пакета будет сгенерировано какое-либо предупреждение, эта утилита вообще не будет пытаться запускать пакет, а сразу завершит работу с ошибкой; q Validate package without exeсuting (Проверять пакет без выполнения) — если установить этот флажок, то при нажатии на кнопку Execute (Выполнить) пакет будет просто проверен на наличие ошибок. Выполняться пакет не будет; q Maximum concurrent executables (Максимальное количество исполняемых файлов) — этот параметр определяет, сколько исполняемых файлов среды выполнения SSIS может быть одновременно запущено во время работы этого пакета (запуск дополнительных исполняемых файлов может потребоваться, например, если ваш пакет запускает другие пакеты). По умолчанию это значение равно -1, т. е. число исполняемых файлов не ограничено; q Enable package checkpoints (Включить контрольные точки для пакета) — контрольные точки (информация о них записывается в файл) позволяют продолжить выполнение пакета с определенной задачи (если возникла ошибка). Однако любая задача (или контейнер, например, Foreach Loop) считается атомарной единицей пакета. Если при выполнении, например, задачи Data Flow Task возникла ошибка, то выполнение пакета можно продолжить, только начав эту задачу заново — посередине выполнения задачи остановиться нельзя. Контрольные точки можно настроить как из свойств пакета (группа свойств Checkpoints (Котрольные точки)), так и из одноименной вкладки окна утилиты dtexecui (в этом случае настройка контрольных точек будет действительна только для этого запуска). В любом случае вам потребуется указать, будете ли вы использовать контрольные точки, имя текстового файла для хранения контрольных точек и параметры перезапуска пакета, если в файле контрольных точек сохранилась информация о предыдущем запуске с ошибками. На вкладке Reporting (Отчеты) утилиты dtexecui вы можете выбрать набор и параметры информационных сообщений, которые будут выводиться в окно выполнения dtexecui или просто в стандартную консоль dtexec. На вкладке Logging (Протоколирование) можно настроить свои параметры протоколирования работы пакета, если те параметры протоколирования, которые были определены для пакета при его создании, по каким-то причинам вас не устраивают. Эти параметры будут использованы только для текущего запуска пакета. Вкладка Set Values (Настроить значения) предназначена для изменения свойств элементов пакета в ходе его выполнения (фактически это альтернатива конфигурациям). Вам потребуется указать путь для свойства и новое значение. Путь для свойства проще всего взять из автоматически сгенерированного файла конфигурации в формате XML (см. разд. 10.25). Вкладка Verification (Проверка) позволяет определить дополнительные проверки, цель которых — обеспечить защиту от неверных версий пакетов. На этой вкладке вы можете определить требование цифровой подписи и проверку версий и идентификаторов пакета. На последней вкладке, которая называется Command Line (Командная строка), находится итог всех настроек, которые были произведены на предыдущих вкладках — сгенерированная командная строка для утилиты dtexec. Вы можете скопировать эту командную строку или произвести ее дополнительное редактирование прямо в этом окне. Конечно, вы можете и сразу запустить пакет на выполнение, нажав кнопку Execute. Очень часто в реальной работе требуется запланировать запуск пакетов SSIS по расписанию, например, в ночное время. Обычно для этого используются два способа. Первый способ — воспользоваться средствами SQL Server Agent. Необходимо будет создать задание (job) SQL Server Agent и создать в нем этап (step) типа SQL Server Integration Service Package. Другая возможность — сгенерировать командную строку для утилиты dtexec и запланировать ее для выполнения по расписанию стандартными средствами планировщика операционной системы.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||