Как запустить ssis пакет из sql
Перейти к содержимому

Как запустить ssis пакет из sql

  • автор:

Выполнение пакета служб SSIS из SSMS с помощью Transact-SQL

В этом кратком руководстве показано, как использовать SQL Server Management Studio (SSMS) для подключения к базе данных каталога служб SSIS, а затем выполнить пакет SSIS в каталоге служб SSIS с помощью инструкций Transact-SQL.

SQL Server Management Studio — это интегрированная среда для управления любой инфраструктурой SQL, от SQL Server до базы данных SQL. Дополнительные сведения о SSMS см. в разделе SQL Server Management Studio (SSMS).

Предварительные требования

Прежде чем начать, убедитесь в наличии последней версии SQL Server Management Studio (SSMS). Чтобы скачать среду SSMS, посетите страницу Скачивание SQL Server Management Studio (SSMS).

Сервер Базы данных SQL Azure прослушивает порт 1433. Если вы пытаетесь подключиться к серверу базы данных SQL Azure изнутри корпоративного брандмауэра, для успешного подключения в этом брандмауэре должен быть открыт данный порт.

Поддерживаемые платформы

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

  • SQL Server в Windows.
  • База данных SQL Azure. Дополнительные сведения о развертывании и запуске пакетов в Azure см. в разделе Перенос рабочих нагрузок SQL Server Integration Services в облако.

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

Получение сведений о подключении для базы данных SQL Azure

Для запуска пакета в базе данных SQL Azure вам нужны сведения, необходимые для подключения к базе данных каталога служб SSIS (SSISDB). В описанных ниже процедурах вам потребуется полное имя сервера и имя для входа.

  1. Войдите на портал Azure.
  2. Выберите Базы данных SQL в меню слева, а затем на странице Базы данных SQL — базу данных SSISDB.
  3. На странице Обзор для базы данных просмотрите полное имя сервера. Чтобы увидеть параметр Щелкните, чтобы скопировать, наведите указатель мыши на имя сервера.
  4. Если вы забыли данные для входа на сервер Базы данных SQL Azure, перейдите на соответствующую страницу, чтобы просмотреть имя администратора сервера. При необходимости вы можете сбросить пароль.

Подключение к базе данных SSISDB

С помощью SQL Server Management Studio установите соединение с каталогом служб SSIS на сервере базы данных SQL Azure.

  1. Откройте среду SQL Server Management Studio.
  2. В диалоговом окне Соединение с сервером введите следующие данные:

Параметр Рекомендуемое значение Дополнительные сведения
Тип сервера Ядро СУБД Это значение обязательно.
Имя сервера Полное имя сервера При подключении к серверу базы данных SQL Azure используйте следующий формат имени: .database.windows.net .
Аутентификация Проверка подлинности SQL Server Используйте проверку подлинности SQL Server для подключения к SQL Server или к базе данных SQL Azure. Если вы подключаетесь к серверу базы данных SQL Azure, вы не можете использовать проверку подлинности Windows.
Имя входа Учетная запись администратора сервера Это учетная запись, которая была указана при создании сервера.
Пароль Пароль для учетной записи администратора сервера Это пароль, который был указан при создании сервера.

Запуск пакета

Чтобы запустить пакет SSIS, выполните приведенный ниже код Transact-SQL.

  1. Откройте в SSMS новое окно запроса и вставьте приведенный ниже код. (Этот код создается параметром Скрипт в диалоговом окне Выполнение пакета в SQL Server Management Studio.)
  2. Обновите значения параметров в хранимой процедуре catalog.create_execution так, чтобы они соответствовали вашей системе.
  3. Убедитесь, что SSISDB является текущей базой данных.
  4. Выполните скрипт.
  5. В обозревателе объектов при необходимости обновите содержимое SSISDB и найдите развернутый проект.
Declare @execution_id bigint EXEC [SSISDB].[catalog].[create_execution] @package_name=N'Package.dtsx', @execution_id=@execution_id OUTPUT, @folder_name=N'Deployed Projects', @project_name=N'Integration Services Project1', @use32bitruntime=False, @reference_id=Null Select @execution_id DECLARE @var0 smallint = 1 EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id, @object_type=50, @parameter_name=N'LOGGING_LEVEL', @parameter_value=@var0 EXEC [SSISDB].[catalog].[start_execution] @execution_id GO 

Дальнейшие действия

  • Рассмотрите другие варианты выполнения пакета.
    • Выполнение пакета служб SSIS с помощью SSMS
    • Выполнение пакета служб SSIS с помощью Transact-SQL (Visual Studio Code)
    • Выполнение пакета служб SSIS из командной строки
    • Выполнение пакета служб SSIS с помощью PowerShell
    • Выполнение пакета служб SSIS с помощью C#

    Управление пакетами (службы SSIS)

    Управление пакетами включает в себя операции мониторинга, управления, импорта и экспорта пакетов.

    Хранилище пакетов

    Службы Integration Services предоставляют две папки верхнего уровня для доступа к пакетам:

    В папке Выполняемые пакеты отображаются пакеты, которые в данный момент выполняются на сервере. В папке Сохраненные пакеты перечислены пакеты, которые сохранены в хранилище пакетов. Это единственные пакеты, которыми управляет служба Integration Services. Хранилище пакетов может состоять из папок базы данных msdb и файловой системы, перечисленных в файле конфигурации службы Integration Services. В файле конфигурации указываются база данных msdb и папки файловой системы, над которыми требуется осуществлять управление. У вас также могут быть пакеты, хранящиеся в других местах файловой системы, которые не управляются службой Integration Services.

    Пакеты, сохраняемые в базе данных msdb, хранятся в таблице с именем sysssispackages. При сохранении пакетов в базе данных msdb их можно сгруппировать в логические папки. Использование логических папок помогает организовывать пакеты по назначению или отфильтровывать пакеты в таблице sysssispackages. Создайте новые логические папки в SQL Server Management Studio. По умолчанию все логические папки, добавляемые в базу данных msdb, автоматически включаются в хранилище пакетов.

    Создаваемые логические папки представлены как строки в таблице sysssispackagefolders базы данных msdb. Столбцы folderid и parentfolderid в таблице sysssispackagefolders определяют иерархию папок. Корневые логические папки в базе данных msdb представлены строками таблицы sysssispackagefolders, которые содержат значение NULL в столбце parentfolderid. Дополнительные сведения см. в статьях sysssispackages (Transact-SQL) и sysssispackagefolders (Transact-SQL).

    При открытии SQL Server Management Studio и подключении к службам Integration Services вы увидите папки msdb, управляемые службой Integration Services, перечисленные в папке хранимых пакетов. Если файл конфигурации задает корневые папки файловой системы, то папка «Хранимые пакеты» также перечисляет пакеты, сохраненные в файловой системе в этих папках и всех ее вложенных папках.

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

    В папке Выполняемые пакеты нет вложенных папок, и она не может быть расширена.

    По умолчанию папка Сохраненные пакеты содержит две вложенные папки: Файловая система and MSDB. В папке Файловая система перечислены пакеты, которые сохранены в файловой системе. Расположение этих файлов указывается в файле конфигурации службы Integration Services. По умолчанию это папка «Пакеты», расположенная в папке %Program Files%\Microsoft SQL Server\100\DTS. В папке MSDB перечислены пакеты служб Integration Services, сохраненные в базе данных msdb SQL Server на сервере. Таблица sysssispackages содержит пакеты, сохраненные в базе данных msdb.

    Чтобы просмотреть список пакетов в хранилище пакетов, необходимо открыть SQL Server Management Studio и подключиться к службам Integration Services.

    Мониторинг выполняемых пакетов

    В папке Выполняемые пакеты находятся выполняемые в данный момент пакеты. Чтобы просмотреть сведения о текущих пакетах на странице сводки SQL Server Management Studio, щелкните папку «Запуск пакетов «. На странице Сводка приведены такие сведения, как время выполнения пакетов. При необходимости обновите содержимое папки для просмотра более свежих данных.

    Чтобы просмотреть сведения о выполняющемся пакете на странице Сводка , щелкните пакет. На странице Сводка представлены такие сведения, как версия и описание пакета.

    Можно остановить выполнение пакета в папке Выполняемые пакеты, щелкнув правой кнопкой мыши пакет и выбрав Остановить.

    Просмотр пакетов в SSMS

    В этой процедуре описывается, как подключиться к службам Integration Services в SQL Server Management Studio и просмотреть список пакетов, управляемых службой Integration Services.

    Подключение к службам Integration Services

    1. Нажмите кнопку Пуск, укажите пункт Все программы, пункт Microsoft SQL Server, а затем выберите команду Среда SQL Server Management Studio.
    2. В диалоговом окне Соединение с сервером выберите Службы Integration Services в списке Тип сервера , введите имя сервера в поле Имя сервера и нажмите Соединить.

    Важно! Если вы не можете подключиться к службам Integration Services, служба Integration Services, скорее всего, не запущена. Чтобы узнать о состоянии службы, нажмите кнопку Пуски последовательно выберите пункты Все программы, Microsoft SQL Server, Средства настройкии Диспетчер конфигурации SQL Server. На левой панели щелкните Службы SQL Server. В правой области найдите службу Служб Integration Services. Если служба не запущена, запустите ее.

    Просмотр пакетов, управляемых службой служб Integration Services

    1. В обозревателе объектов разверните папку Сохраненные пакеты .
    2. Разверните вложенные папки в папке «Сохраненные пакеты», чтобы показать пакеты.

    Импорт и экспорт пакетов

    Пакеты можно сохранить в таблице sysssispackages в базе данных MSDB SQL Server или файловой системе.

    Хранилище пакетов, которое является логическим хранилищем, которое службы Integration Services отслеживает и управляет ими, может включать как базу данных msdb, так и папки файловой системы, указанные в файле конфигурации службы Integration Services.

    Можно выполнять импорт и экспорт пакетов между следующими типами хранилищ:

    • Папки файловой системы в любом месте этой файловой системы.
    • Папки в хранилище пакетов служб SSIS. Две папки по умолчанию с именами File System и MSDB.
    • База данных msdb SQL Server.

    Службы Integration Services позволяют импортировать и экспортировать пакеты, а также изменять формат хранилища и расположение пакетов. С помощью функций импорта и экспорта можно добавлять пакеты в файловую систему, хранилище пакетов или базу данных msdb, а также копировать пакеты из одного формата хранения в другой. Например, пакеты, сохраненные в msdb, можно скопировать в файловую систему и наоборот.

    Можно также скопировать пакет в другой формат с помощью программы командной строки dtutil (dtutil.exe). Дополнительные сведения см. в статье dtutil Utility.

    Вы можете импортировать или экспортировать пакет служб Integration Services из следующих расположений:

    • Вы можете импортировать пакет, хранящийся в экземпляре Microsoft SQL Server, в файловой системе или в хранилище пакетов служб SSIS. Импортированный пакет сохраняется в SQL Server или в папку в хранилище пакетов служб SSIS.
    • Пакет, хранящийся в экземпляре SQL Server, файловой системе или хранилище пакетов служб SSIS, можно экспортировать в другой формат хранилища и расположение.

    Однако существуют некоторые ограничения на импорт и экспорт пакета между разными версиями SQL Server:

    • В экземпляре SQL Server 2008 (10.0.x) можно импортировать пакеты из экземпляра SQL Server 2005 (9.x), но экспортировать пакеты в экземпляр SQL Server 2005 (9.x).
    • В экземпляре SQL Server 2005 (9.x) нельзя импортировать пакеты из пакета или экспортировать их в экземпляр SQL Server 2008 (10.0.x).

    В следующих процедурах описывается использование SQL Server Management Studio для импорта или экспорта пакета.

    Импорт пакета с помощью среды SQL Server Management Studio

    1. Нажмите кнопку «Пуск«, наведите указатель на Microsoft SQL Server и щелкните SQL Server Management Studio.
    2. В диалоговом окне Соединение с сервером установите следующие параметры.
      • В поле Тип сервера выберите Службы Integration Services.
      • В поле Имя сервера введите имя сервера или щелкните и найдите нужный сервер.
    3. Если обозреватель объектов не открыт, в меню Вид выберите пункт Обозреватель объектов.
    4. В обозревателе объектов разверните папку Сохраненные пакеты .
    5. Разверните вложенные папки и найдите папку, в которую нужно выполнить импорт пакета.
    6. Щелкните правой кнопкой мыши папку, выберите команду «Импорт пакета» и выполните одно из следующих действий:
      • Чтобы импортировать из экземпляра SQL Server, выберите параметр SQL Server , а затем укажите сервер и выберите режим проверки подлинности. Если выбрать проверку подлинности SQL Server, укажите имя пользователя и пароль. Нажмите кнопку обзора (…), выберите импортируемый пакет и нажмите кнопку ОК.
      • Чтобы выполнить импорт из файловой системы, выберите параметр Файловая система . Нажмите кнопку обзора (…), выберите импортируемый пакет и нажмите кнопку Открыть.
      • Чтобы импортировать из хранилища пакетов служб SSIS, выберите параметр хранилища пакетов служб SSIS и укажите сервер. Нажмите кнопку обзора (…), выберите импортируемый пакет и нажмите кнопку ОК.
    7. При необходимости обновите название пакета.
    8. Чтобы обновить уровень защиты пакета, нажмите кнопку обзора (…) и выберите иной уровень защиты с помощью диалогового окна Уровень защиты пакета. При выборе параметра Шифровать конфиденциальные данные паролем или Шифровать все данные паролем введите и подтвердите пароль.
    9. Чтобы завершить импорт, нажмите кнопку ОК .

    Экспорт пакета с помощью среды SQL Server Management Studio

    1. Нажмите кнопку «Пуск«, наведите указатель на Microsoft SQL Server и щелкните SQL Server Management Studio.
    2. В диалоговом окне Соединение с сервером установите следующие параметры.
      • В поле Тип сервера выберите Службы Integration Services.
      • В поле Имя сервера введите имя сервера или щелкните и найдите нужный сервер.
    3. Если обозреватель объектов не открыт, в меню Вид выберите пункт Обозреватель объектов.
    4. В обозревателе объектов разверните папку Сохраненные пакеты .
    5. Разверните вложенные папки и выберите пакет для экспорта.
    6. Щелкните правой кнопкой мыши пакет, выберите пункт Экспорти выполните одно из следующих действий:
      • Чтобы экспортировать в экземпляр SQL Server, выберите параметр SQL Server, а затем укажите сервер и выберите режим проверки подлинности. Если выбрать проверку подлинности SQL Server, укажите имя пользователя и пароль. Нажмите кнопку обзора (…) и разверните папку Пакеты служб SSIS, чтобы выбрать папку, в которую нужно сохранить пакет. При необходимости измените имя пакета по умолчанию и нажмите кнопку ОК.
      • Чтобы выполнить экспорт в файловую систему, выберите параметр Файловая система . Нажмите кнопку обзора (…), чтобы выбрать папку, в которую нужно экспортировать пакет, введите имя файла пакета и нажмите кнопку Сохранить.
      • Чтобы экспортировать в хранилище пакетов служб SSIS, выберите параметр хранилища пакетов служб SSIS и укажите сервер. Нажмите кнопку обзора (…), разверните папку Пакеты служб SSIS и выберите папку, в которую нужно сохранить пакет. Если нужно изменить имя пакета, введите новое имя в текстовое поле Имя пакета . Нажмите ОК.
    7. Чтобы обновить уровень защиты пакета, нажмите кнопку обзора (…) и выберите иной уровень защиты с помощью диалогового окна Уровень защиты пакета. При выборе параметра Шифровать конфиденциальные данные паролем или Шифровать все данные паролем введите и подтвердите пароль.
    8. Чтобы завершить экспорт, нажмите кнопку ОК .

    Диалоговое окно «Импорт пакета» справочника по пользовательскому интерфейсу

    Используйте диалоговое окно «Импорт пакета», доступное в SQL Server Management Studio, для импорта пакета служб Integration Services и настройки или изменения уровня защиты пакета.

    Параметры

    Размещение пакета
    Выберите тип места хранения, в которое импортировать пакет. Имеются следующие варианты:

    SQL Server

    Файловая система

    Хранилище пакетов служб SSIS

    Сервер
    Введите имя сервера или выберите его из списка.

    Аутентификация
    Выберите проверку подлинности Windows или проверку подлинности SQL Server. Этот параметр доступен только в том случае, если расположение хранилища — SQL Server.

    При возможности используйте проверку подлинности Windows.

    Тип проверки подлинности
    Выберите тип проверки подлинности.

    Имя пользователя
    При использовании проверки подлинности SQL Server укажите имя пользователя.

    Пароль
    При использовании проверки подлинности SQL Server укажите пароль.

    Путь пакета
    Введите путь к пакету или нажмите кнопку просмотра (…) и определите местоположение пакета.

    Имя пакета
    При необходимости переименуйте пакет. По умолчанию это имя импортируемого пакета.

    Уровень защиты
    Щелкните кнопку просмотра (…) и измените уровень защиты в диалоговом окне Уровень защиты пакета. Дополнительные сведения см. в разделе Диалоговое окно уровня защиты пакета и проекта.

    Диалоговое окно «Экспорт пакета» справочника по пользовательскому интерфейсу

    Используйте диалоговое окно «Экспорт пакета», доступное в SQL Server Management Studio, для экспорта пакета служб Integration Services в другое расположение и при необходимости измените уровень защиты пакета.

    Параметры

    Размещение пакета
    Выберите тип хранилища для экспорта пакета. Имеются следующие варианты:

    SQL Server

    Файловая система

    Хранилище пакетов служб SSIS

    Сервер
    Введите имя сервера или выберите его из списка.

    Аутентификация
    Выберите проверку подлинности Windows или проверку подлинности SQL Server. Этот параметр доступен только в том случае, если расположение хранилища — SQL Server.

    При возможности используйте проверку подлинности Windows.

    Тип проверки подлинности
    Выберите тип проверки подлинности.

    Имя пользователя
    При использовании проверки подлинности SQL Server укажите имя пользователя.

    Пароль
    При использовании проверки подлинности SQL Server укажите пароль.

    Путь пакета
    Введите путь модуля или нажмите кнопку обзора (. ) и выберите папку, в которой должен быть сохранен пакет.

    Уровень защиты
    Нажмите кнопку обзора (. ) и обновите уровень защиты в диалоговом окне Уровень защиты пакета. Дополнительные сведения см. в разделе Диалоговое окно уровня защиты пакета и проекта.

    Резервное копирование и восстановление пакетов

    Пакеты СЛУЖБ SQL Server Integration Services можно сохранить в файловой системе или msdb, системной базе данных SQL Server. Пакеты, сохраненные в msdb, можно создавать резервные копии и восстанавливать с помощью функций резервного копирования и восстановления SQL Server.

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

    • Резервное копирование и восстановление баз данных SQL Server
    • Резервное копирование и восстановление системных баз данных (SQL Server)

    Службы Integration Services включают программу командной строки dtutil (dtutil.exec), которую можно использовать для управления пакетами. Дополнительные сведения см. в статье dtutil Utility.

    Файлы конфигурации

    Файлы конфигурации, содержащиеся в пакетах, сохраняются в файловой системе. Эти файлы не копируются при создании резервной копии базы данных msdb, поэтому необходимо регулярно выполнять резервное копирование файлов конфигурации в рамках плана защиты пакетов, сохраняемых в msdb. Чтобы включить конфигурации в резервную копию базы данных msdb, следует использовать тип конфигурации SQL Server вместо конфигураций на основе файлов.

    Пакеты, хранимые в файловой системе

    Резервная копия пакетов, сохраненных в файловой системе, должна быть включена в план резервного копирования для защиты файловой системы сервера. Файл конфигурации службы Integration Services с именем msDtsSrvr.ini.xml по умолчанию содержит папки на сервере, на котором отслеживается служба. Должно быть обеспечено резервное копирование этих папок. Кроме того, пакеты могут сохраняться в других папках на сервере, поэтому необходимо включить эти папки в план резервного копирования.

    �� Как запустить SSIS пакет из SQL: пошаговая инструкция с примерами

    Чтобы запустить SSIS (SQL Server Integration Services) пакет из SQL, вы можете использовать хранимую процедуру sp_executesql. Вот пример кода:

     DECLARE @cmd NVARCHAR(MAX); SET @cmd = 'dtexec /f "C:\Path\to\your\Package.dtsx"'; EXEC sp_executesql @cmd; 

    В этом примере мы создаем переменную @cmd, которая содержит команду для запуска пакета SSIS с помощью утилиты dtexec. Замените «C:\Path\to\your\Package.dtsx» на путь к вашему пакету. Вызывая sp_executesql с переменной @cmd, мы выполняем команду и запускаем пакет SSIS.

    Детальный ответ

    Привет студент! Сегодня я хочу помочь тебе разобраться в том, как запустить SSIS пакет из SQL. SSIS, что расшифровывается как SQL Server Integration Services, это мощный инструмент, который позволяет создавать, управлять и выполнить пакеты ETL (Extract, Transform, Load) в среде SQL Server.

    Что такое пакет SSIS?

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

    Шаги для запуска SSIS пакета из SQL

    1. Создание SQL Agent задачи

    Первым шагом является создание задачи SQL Agent в SQL Server Management Studio. Эта задача будет служить основой для запуска нашего SSIS пакета.

     USE msdb; GO EXEC dbo.sp_add_job @job_name = N'MySSISPackageJob', @enabled = 1, @notify_level_eventlog = 0, @notify_level_email = 2; GO EXEC dbo.sp_add_jobserver @job_name = N'MySSISPackageJob'; GO DECLARE @jobId BINARY(16); EXEC dbo.sp_start_job @job_name = N'MySSISPackageJob', @job_id = @jobId OUTPUT; GO 

    В приведенном примере создается задача под названием «MySSISPackageJob». Она будет включена и отправлять уведомления по электронной почте.

    2. Создание SSIS_proxy учетной записи

    Для запуска SSIS пакета через SQL Agent, нам понадобится proxy учетная запись. Proxy учетная запись позволяет задачам SQL Agent выполняться от имени другого принципала без необходимости предоставления полного доступа к этому принципалу.

     USE msdb; GO EXEC dbo.sp_add_proxy @proxy_name = N'MySSISPackageProxy', @credential_name = N'MySSISPackageCredential', @enabled = 1; GO EXEC dbo.sp_grant_proxy_to_subsystem @proxy_name = N'MySSISPackageProxy', @subsystem_id = 11; GO 

    В этом примере создается proxy учетная запись «MySSISPackageProxy», которая использует ранее созданные учетные данные «MySSISPackageCredential». Эта учетная запись будет иметь доступ к подсистеме «Integration Services».

    3. Создание оператора

    Оператор представляет собой получателя уведомлений от SQL Agent. Вам необходимо создать оператора, чтобы получать уведомления о статусе выполнения SSIS пакета.

     USE msdb; GO EXEC dbo.sp_add_operator @name = N'MyOperator', @enabled = 1, @email_address = N'myemail@example.com'; GO 

    В этом примере создается оператор под названием «MyOperator» с использованием указанного адреса электронной почты.

    4. Создание и настройка шага задачи

    Теперь, когда мы создали все необходимые компоненты, мы можем создать шаг для нашей задачи SQL Agent.

     USE msdb; GO EXEC dbo.sp_add_jobstep @job_name = N'MySSISPackageJob', @step_name = N'RunSSISPackage', @subsystem = N'SSIS', @command = N'/ISSERVER "\"\SSISDB\MyProject\MyPackage.dtsx\"" /SERVER "\"MyServer\""', @proxy_name = N'MySSISPackageProxy'; GO 

    Здесь мы создаем шаг «RunSSISPackage» для задачи «MySSISPackageJob». В команде указывается путь к SSIS пакету и имя сервера, на котором этот пакет будет выполняться. Также указывается proxy учетная запись «MySSISPackageProxy».

    5. Запуск задачи

    Теперь, когда мы все настроили, мы можем запустить задачу и выполнить наш SSIS пакет.

     USE msdb; GO DECLARE @jobId BINARY(16); EXEC dbo.sp_start_job @job_name = N'MySSISPackageJob', @job_id = @jobId OUTPUT; GO 

    В этом примере мы запускаем задачу «MySSISPackageJob» и получаем идентификатор задачи @jobId, который можно использовать для проверки статуса выполнения или для получения дополнительной информации о задаче.

    Заключение

    Теперь ты знаешь, как запустить SSIS пакет из SQL. Следуя этим шагам, ты сможешь автоматизировать выполнение своих ETL процессов и упростить работу с данными в SQL Server. Удачи в изучении SQL и SSIS!

    Пакеты служб Integration Services (SSIS)

    Пакет — это организованная коллекция соединений, элементов потока управления, элементов потока данных, обработчиков событий, переменных, параметров и конфигураций, которая собирается либо с помощью графических средств проектирования, предоставляемых службами SQL Server Службы Integration Services, либо программно. Затем собранный пакет сохраняется в SQL Server, хранилище пакетов Integration Services или в файловую систему. Также вы можете развернуть проект служб ssISnoversion на сервере Integration Services . Пакет — это рабочий блок, который можно получить, выполнить и сохранить.

    Пакет сразу после создания — это пустой объект, который ничего не содержит. Чтобы расширить функциональные возможности пакета, в него добавляется поток управления и, при необходимости, один или несколько потоков данных.

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

    После создания основного пакета в него добавляются дополнительные функции, такие как ведение журнала, и переменные, расширяющие функциональные возможности пакета. Дополнительные сведения приведены в разделе, посвященном объектам, расширяющим функциональность пакетов.

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

    Содержимое пакета

    Задачи и контейнеры (поток управления). Поток управления состоит из одной или нескольких задач и контейнеров, которые выполняются при запуске пакета. Контролировать поток управления порядком выполнения задач или контейнеров и определять условия их запуска можно с помощью средств управления очередностью, позволяющих связывать задачи и контейнеры в пакете. Кроме того, подмножество задач и контейнеров можно группировать и повторно запускать как блок в потоке управления пакета. Дополнительные сведения см. в разделе Поток управления.

    Источники данных и назначения (поток данных). Поток данных состоит из источников и назначений, извлекающих и загружающих данные, из преобразований, изменяющих и расширяющих данные, а также из путей, связывающих источники, преобразования и назначения. Чтобы в пакет можно было добавить поток данных, поток управления пакета должен содержать задачу потока данных. Эта задача является исполняемым объектом пакета Integration Services , который создает, упорядочивает и запускает поток данных. Отдельный экземпляр подсистемы обработки потока данных открывается для каждой задачи потока данных в пакете. Дополнительные сведения см. в разделах Задача потока данных и Поток данных.

    Диспетчеры подключений (подключения). Как правило, в состав пакета входит как минимум один диспетчер соединений. Диспетчер сообщений используется в качестве связи между пакетом и источником данных, определяющей строку соединения для доступа к данным, которые используются задачами, преобразованиями и обработчиками событий в пакете. Службы Integration Services включены типы соединений для таких источников данных, как текстовые и XML-файлы, реляционные базы данных, а также базы данных и проекты служб Службы Analysis Services . Дополнительные сведения см. в статье Соединения служб Integration Services (SSIS).

    Объекты, расширяющие функциональные возможности пакета

    В пакетах могут содержаться дополнительные объекты, обеспечивающие расширенные функциональные возможности или расширяющие имеющиеся возможности, например обработчики событий, конфигурации, ведение журналов и переменные.

    Обработчики событий

    Обработчик событий — это рабочий процесс, который запускается в ответ на события, вызванные пакетом, задачей или контейнером. Например, с помощью обработчика событий можно проверять наличие свободного места на диске при возникновении ошибки или события предварительного выполнения и отправлять по электронной почте сообщение о свободном месте на диске или об ошибке администратору. Обработчик событий имеет такую же структуру, как и пакет: поток управления и необязательные потоки данных. Обработчики событий можно добавлять в отдельные задачи или контейнеры в пакете. Дополнительные сведения см. в разделе Обработчики событий Integration Services (SSIS).

    Конфигурации

    Конфигурация — это набор пар вида «свойство-значение», определяющий свойства пакета и его задачи, контейнеры, переменные, соединения, а также обработчики событий при запуске пакета. Конфигурации позволяют обновлять свойства без изменения пакета. При запуске пакета загружаются данные конфигурации, обновляя значения свойств. Например, конфигурация может обновлять строку соединения для соединения.

    Конфигурация сохраняется, а затем развертывается вместе с пакетом при установке пакета на другом компьютере. Для поддержки пакета в другой среде значения его конфигурации можно обновлять при установке пакета. Дополнительные сведения см. в разделе Создание конфигурации пакетов.

    Ведение журналов и регистраторы

    Журнал — это коллекция данных о пакете, собираемых во время работы пакета. Например, в журнале может быть записано время начала и окончания работы пакета. Регистратор определяет целевой тип и формат, который пакет с его контейнерами и задачами применяет для записи сведений о выполнении. Журналы связаны с пакетом, но задачи и контейнеры в пакете могут сохранять данные в журнале любого пакета. Службы Integration Services включают в себя различные встроенные регистраторы. Например, в состав служб Службы Integration Services входят регистраторы для SQL Server и текстовых файлов. Кроме того, можно создавать пользовательские регистраторы и применять их для ведения журналов. Дополнительные сведения см. в статье Ведение журналов в службах Integration Services (SSIS).

    Переменные

    Службы Integration Services поддерживают системные и пользовательские переменные. В системных переменных хранятся полезные сведения об объектах пакета во время выполнения, а пользовательские переменные поддерживают пользовательские сценарии в пакетах. Оба типа переменных можно использовать в выражениях, скриптах и конфигурациях.

    Переменные уровня пакета — это предопределенные системные переменные, доступные для пакета, а также пользовательские переменные области пакета. Дополнительные сведения см. в статье Переменные в службах Integration Services (SSIS).

    Параметры

    Службы Integration Services могут быть использованы для присвоения значений свойствам внутри пакетов во время их выполнения. Можно создать параметры проекта на уровне проекта и параметры пакета на уровне пакета. Параметры проекта используются для предоставления любых внешних данных, получаемых проектом, одному пакету в проекте или более. Параметры пакета позволяют изменить выполнение пакета. При этом изменять пакет и развертывать его повторно не придется. Дополнительные сведения см. в статье Параметры служб Integration Services (SSIS).

    Свойства пакета, поддерживающие расширенные функциональные возможности

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

    Перезапуск пакетов

    В пакете предусмотрены свойства контрольных точек, применяемых для перезапуска пакета в случае сбоя одной или нескольких задач. Например, если в пакете две задачи потока данных, обновляющих две различных таблицы, и одна из этих задач дает сбой, то пакет можно перезапустить без повторения первой задачи потока данных. Перезапуск может сэкономить время при использовании долго выполняющихся пакетов. При перезапуске пакет запускается сразу с задачи, вызвавшей сбой, а не повторяется целиком. Дополнительные сведения см. в разделе Restart Packages by Using Checkpoints.

    Защита пакетов

    Пакет можно подписать цифровой подписью и зашифровать с помощью пароля и ключа пользователя. Электронная подпись определяет подлинность источника пакета. Однако следует также настроить службы Службы Integration Services для проверки цифровой подписи при загрузке пакета. Дополнительные сведения см. в разделах Определение источника пакетов с помощью цифровых подписей и Контроль доступа для конфиденциальных данных в пакетах.

    Поддержка транзакций

    С помощью атрибута транзакции в пакете можно разрешать задачам, контейнерам и соединениям пакета присоединятся к транзакции. Атрибуты транзакции обеспечивают выполнение пакета со всеми его элементами как единого блока. Кроме того, пакеты могут запускать другие пакеты и регистрировать другие пакеты в транзакциях, что позволяет запускать несколько пакетов в качестве одного рабочего блока. Дополнительные сведения см. в разделе Транзакции служб Integration Services.

    Пользовательские записи журнала, доступные в пакете

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

    Запись журнала Description
    PackageStart Указывает, что выполнение пакета началось.

    Установка свойств пакета

    Задать свойства можно в окне Свойства среды SQL Server Data Tools (SSDT) или программными средствами.

    Дополнительные сведения о задании этих свойств с использованием среды SQL Server Data Tools (SSDT)см. в разделе Установка свойств пакета.

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

    Повторное использование существующего пакета в качестве шаблона

    Пакеты часто используются как шаблоны, из которых формируются пакеты, обладающие базовой функциональностью. Можно создать базовый пакет и скопировать его или же обозначить пакет как шаблон. Например, пакет, загружающий и копирующий файлы, а затем извлекающий данные, может содержать задачи «FTP» и «Файловая система» в контейнере «цикл по каждому элементу», который перечисляет файлы в папке. Он также может включать диспетчеры соединений с неструктурированными файлами для доступа к данным и источники неструктурированных файлов для уточнения данных. Назначение данных изменяется и добавляется к каждому новому пакету после того, как он копируется из базового пакета. Можно создавать пакеты, а затем использовать их как шаблоны для новых пакетов, добавляемых в проект служб Службы Integration Services . Дополнительные сведения см. в разделе Create Packages in SQL Server Data Tools.

    Если пакет создан программно или с помощью конструктора служб SSIS, идентификатор GUID добавляется в свойство ID , а имя — в свойство Name . При создании нового пакета с помощью шаблона или копирования уже существующего пакета имя и идентификатор GUID также копируются. Ведение журналов может вызвать проблемы, так как идентификатор GUID и имя пакета записываются в журналы для идентификации пакета, к которому относятся записанные данные. Поэтому необходимо изменять имя и идентификатор GUID для новых пакетов, чтобы отличать их от пакета, из которого они были скопированы, и чтобы отличать их друг от друга.

    Чтобы изменить идентификатор пакета GUID, повторно сформируйте значение идентификатора GUID для свойства ID в окне свойств среды SQL Server Data Tools (SSDT). Чтобы изменить имя пакета, можно изменить значение свойства Name в окне свойств. Можно также использовать средство командной строки dtutil или изменить идентификатор GUID и имя программными средствами. Дополнительные сведения см. в разделах Установка свойств пакета и Программа dtutil.

    Связанные задачи

    Службы Integration Services для создания пакетов, в состав служб Integration Services входят два графических средства: конструктор служб SQL Server и мастер импорта и экспорта служб Integration Services . Подробные сведения см. в следующих разделах.

    • Импорт и экспорт данных с помощью мастера импорта и экспорта SQL Server
    • Создание пакетов в SQL Server Data Tools
    • См. раздел Программное построение пакетов руководства разработчика.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *