Ssis пакеты что это

SQL Server Integration Services (SSIS) — Описание служб интеграции

В состав Microsoft SQL Server входит компонент SQL Server Integration Services, и сегодня мы узнаем, для чего нужен этот компонент, а также рассмотрим его основные возможности.

Как Вы, наверное, знаете, Microsoft SQL Server включает не только основной компонент Database Engine, но и много других полезных компонентов, например, ранее мы с Вами рассмотрели SQL Server Reporting Services — это полноценный компонент создания и публикации отчетов. Сейчас на очереди у нас службы Integration Services, которые являются также очень полезными и важными. Итак, давайте приступать.

Ssis пакеты что это. integration services 1. Ssis пакеты что это фото. Ssis пакеты что это-integration services 1. картинка Ssis пакеты что это. картинка integration services 1

SQL Server Integration Services

SQL Server Integration Services (SSIS) – это компонент Microsoft SQL Server, который предназначен для автоматизации извлечения, трансформации и консолидации данных из всякого рода источников в другие источники данных. Также службы Integration Services можно использовать и для автоматизации других процессов, например, задач связанных с обслуживанием баз данных или каких-то действий с файлами в операционной системе, в общем SSIS может выступать в качестве своего рода платформы по автоматизации практически всего. И это на самом деле так, например, я, когда впервые узнал о том, что можно сделать с помощью пакета SSIS был удивлен. Поэтому предлагаю сначала рассмотреть основные возможности SQL Server Integration Services, чтобы Вы примерно понимали, на что способен SSIS, все, конечно же, мы не рассмотрим, но общие моменты затронем, а затем перейдем к обзору функционала и инструментов, которые используются в SQL Server Integration Services.

Примечание! Все приведенные ниже возможности, а также функционал и инструменты по работе с SSIS рассматриваются на примере версии Microsoft SQL Server 2008 R2 в новых версиях, конечно же, возможностей стало больше, а функционал и инструменты стали лучше.

Основные возможности SQL Server Integration Services

Как Вы понимаете это далеко не полный список возможностей служб Integration Services, но главной возможностью и особенностью является то, что все вышеперечисленное можно комбинировать в одном пакете. Иными словами, Вы можете создать пакет SSIS, в котором допустим, Вы сначала делаете резервную копию базы данных, а также других источников (например, файлов Excel). Затем запускаете хранимую процедуру, которая обновляет данные в базе SQL сервера, потом осуществляется выгрузка данных из всех этих источников, происходит их объединение и доставка этих данных в удобном формате пользователю, а для того чтобы пользователь узнал, что его данные подготовлены отправить ему письмо по электронной почте. По моему мнению, возможностей SSIS более чем достаточно.

Функционал SQL Server Integration Services

Параметры

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

Циклы

Службы Integration Services позволяют организовать повторяющийся поток действий в пакете, т.е. цикл. В SSIS есть два вида цикла, которые оформлены в виде контейнера, это «Цикл по элементам», он работает аналогично структуре цикла For и «Цикл по каждому элементу», т.е. своего рода цикл Foreach. Циклы мы можем использовать, например, тогда, когда нам необходимо выполнить одну задачу определённое количество раз и только потом перейти к выполнению другой задачи. Или, например, используя цикл по каждому элементу, мы можем сделать что-то с каждым файлом в папке.

Переменные

В пакете SSIS можно использовать переменные, т.е. в процессе выполнения пакета мы можем хранить какие-то временные значения в переменных и использовать их, например, в задачах или контейнерах. Переменные нам могут пригодиться, например, для передачи в SQL инструкцию параметра, который будет формироваться динамически или, например, в цикле для управления итерацией или в задаче «Производный столбец» в процессе преобразования потока данных.

В службах Integration Services существует два типа переменных: пользовательские и системные. Пользовательские переменные — это те, которые мы с Вами можем создавать, а системные переменные — это те, которые определяются службами Integration Services. Например, к системным переменным относится StartTime, она хранит время, когда был запущен пакет или UserName, которая показывает имя учетной записи пользователя, запустившего пакет.

Расширение функционала с помощью скриптов на Visual Basic или C#

Транзакции в пакете

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

Точки сохранения

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

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

Отслеживание и перехват ошибок

В ходе выполнения пакета SSIS могут возникнуть непредвиденные ошибки, в связи с этим службами Integration Services предусмотрен функционал отслеживания и перехвата ошибок. Другими словами, в случае возникновения в пакете какой-то ошибки, мы можем ее отследить и передать управление другой задаче или обработчику этого события, для того чтобы пакет аварийно не завершился, а отработал корректно.

Журналирование

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

Инструменты для работы с SQL Server Integration Services

Давайте рассмотрим несколько инструментов и программ, которые входят в состав служб Integration Services.

Служба SQL Server Integration Services

Это служба Windows, которая и выполняет обработку пакетов. На компьютер ее можно установить только в одном экземпляре.

Среда SQL Server Business Intelligence Development Studio

BIDS – это графическая среда для разработки пакетов. Процесс разработки пакета SSIS — это своего рода визуальное программирование, т.е. вся логика пакета, будет отображена графически. Среда Business Intelligence Development Studio служит как раз для программирования пакетов SSIS.

Ssis пакеты что это. integration services 2. Ssis пакеты что это фото. Ssis пакеты что это-integration services 2. картинка Ssis пакеты что это. картинка integration services 2

Среда SQL Server Management Studio

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

Ssis пакеты что это. integration services 3. Ssis пакеты что это фото. Ssis пакеты что это-integration services 3. картинка Ssis пакеты что это. картинка integration services 3

Программы командной строки

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

Заметка! Если Вас интересует SQL и T-SQL, рекомендую посмотреть мои видеокурсы по T-SQL, с помощью которых Вы «с нуля» научитесь работать с SQL и программировать с использованием языка T-SQL в Microsoft SQL Server.

На этом все, надеюсь, материал был полезен, удачи!

Источник

17) Учебник по SSIS

Что такое SSIS?

Служба интеграции SQL Server (SSIS) является компонентом программного обеспечения базы данных Microsoft SQL Server, которое может использоваться для выполнения широкого спектра задач миграции данных. SSIS — это быстрый и гибкий инструмент хранилища данных, используемый для извлечения, загрузки и преобразования данных, таких как очистка, агрегирование, объединение данных и т. Д.

Это позволяет легко перемещать данные из одной базы данных в другую. SSIS может извлекать данные из самых разных источников, таких как базы данных SQL Server, файлы Excel, базы данных Oracle и DB2 и т. Д.

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

В этом уроке вы узнаете:

Почему мы используем SSIS?

Вот основные причины использования инструмента SSIS:

История СИС

До SSIS использовались SQL Server, службы преобразования данных (DTS), которые были частью SQL Server 7 и 2000

Версия подробность
SQL Server 2005Команда Microsoft решила обновить DTS. Однако вместо обновления DTS они решили назвать продукт Integration Services (SSIS).
Версия SQL Server 2008В SSIS было сделано много улучшений производительности. Новые источники были также введены.
SQL Server 2012Это был самый большой выпуск для SSIS. В этой версии введена концепция модели развертывания проекта. Это позволяет целым проектам и их пакетам развертываться на сервере вместо определенных пакетов.
SQL Server 2014В этой версии сделано не так много изменений для SSIS. Но были добавлены новые источники или преобразования, которые были сделаны отдельными загрузками через CodePlex или SQL Server Feature Pack.
В SQL Server 2016Версия позволяет развертывать целые проекты, а не отдельные пакеты. Есть дополнительные источники, особенно облачные, и большие источники данных, и в каталог было внесено несколько изменений.

Основные особенности служб SSIS

Вот некоторые важные функции SSIS:

Архитектура служб SSIS

Ниже приведены компоненты архитектуры SSIS:

Давайте разберемся с каждым компонентом в деталях:

1. Контроль потока

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

2. Ограничения Присутствия

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

3.Task

«Задача» — это отдельная единица работы. Это то же самое, что метод / функция, используемые в языке программирования. Однако в SSIS вы не используете методы кодирования. Вместо этого вы будете использовать технику перетаскивания, чтобы создать поверхность и настроить ее.

4.Containers

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

Четыре типа контейнеров в SSIS:

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

Для контейнера цикла: Предоставляет ту же функциональность, что и контейнер последовательности, за исключением того, что он также позволяет запускать задачи несколько раз. Тем не менее, он основан на условии оценки, например, от 1 до 100.

Для каждого Контейнера Цикла: Это также позволяет цикл. Но разница в том, что вместо использования выражения условия цикл выполняется над набором объектов, ему нравятся файлы в папке.

5. Поток данных

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

6.Packages

Другим ключевым компонентом SSIS является понятие пакета. Это сборник задач, которые выполняются упорядоченно. Здесь ограничения президента помогают управлять порядком, в котором будет выполняться задача.

Ssis пакеты что это. 4876eda9bc04c105f9172dfd1f4723c7. Ssis пакеты что это фото. Ssis пакеты что это-4876eda9bc04c105f9172dfd1f4723c7. картинка Ssis пакеты что это. картинка 4876eda9bc04c105f9172dfd1f4723c7

7.Parameters

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

Типы задач служб SSIS

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

Некоторые важные задачи SSIS упомянуты ниже:

Название задачи Описания
Выполнить задачу SQLКак следует из его названия, он выполнит оператор SQL для реляционной базы данных.
Задача потока данныхЭта задача может читать данные из одного или нескольких источников. Преобразуйте данные, когда они находятся в памяти, и запишите их по одному или нескольким адресатам.
Задача обработки служб аналитикиИспользуйте это задание для обработки объектов табличной модели или в качестве куба SSAS.
Выполнить задачу пакетаUse может использовать эту задачу SSIS для выполнения других пакетов из того же проекта.
Выполнить задачу процессаС помощью этой задачи вы можете указать параметры командной строки.
Задача файловой системыОн выполняет манипуляции в файловой системе. Как перемещение, переименование, удаление файлов и создание каталогов.
Задачи FTPЭто позволяет выполнять основные функции FTP.
Задача сценарияЭто пустое задание. Вы можете написать NET код, который выполняет любую задачу; Вы хотите выполнить.
Задача «Отправить почту»Вы можете отправить электронное письмо с уведомлением пользователей о том, что ваш пакет завершен или произошла какая-то ошибка.
Задача «Массовая вставка»Использование может загружать данные в таблицу с помощью команды массового вставки.
Задача сценарияЗапускает набор кодирования VB.NET или C # в среде Visual Studio.
Задача веб-службыОн выполняет метод на веб-сервисе.
Задача WMI Event WatcherЭта задача позволяет пакету служб SSIS ожидать определенные события WMI и отвечать на них.
Задача XMLЭта задача поможет вам объединить, разделить или переформатировать любой файл XML.

Другие важные инструменты ETL

Преимущества и недостатки использования SSIS

Инструмент SSIS предлагает следующие преимущества:

Недостатки SSIS

Несколько недостатков использования инструментов SIS:

Источник

Создание SSIS пакетов для новичков

Для реализации простенького пакета необходимо установить надстройку SSDT (Sql server data tools) для вашей Visual Studio.

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

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

В таких случаях на помощь как раз приходит SSIS. В других случаях, кстати тоже.

Что же представляет из себя SSIS? Это набор контейнеров, соединяемых между собой. Программа состоит из потока управления (Control Flow), который может включать в себя поток данных (Data Flow). Вот так выглядит стартовое окно проекта в Visual Studio 2017.

Итак, нам необходимо перенести данные таблицы с одного сервера на другой. Для начала нам необходимо создать соединения к этим серверам. Ниже представлен процесс создания:

Из списка выбираем необходимый нам тип соединения. Мы рассмотрим создание соединение OLEDB.

После того, как мы добавили необходимые соединения наступило время для создания в нашем Control Flow задачи потока данных. Для того в SSIS toolbox необходимо выбрать контейнер Data Flow Task (Задача потока данных).

Далее необходимо перейти в контейнер, который мы только что создали и выбрать Источник данных (Source) и назначение данных(Destination).

Перейдем к настройке источника данных. Здесь нам необходимо выбрать соединение, где находится таблица, из которой мы хотим перенести данные. Далее выбираем таблицу. Стоит отметить, что также необходимые данные можно выбрать через Sql запрос (для этого необходимо выбрать Sql command при выборе data access mode).

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

Источник

Развертывание проектов и пакетов служб Integration Services (SSIS)

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

Модель развертывания проектов была представлена в Службы SQL Server 2012 Integration Services (SSIS). При использовании этой модели вы не могли развернуть один пакет или несколько, не развернув весь проект. Функция добавочного развертывания пакетов, представленная в SQL Server 2016 Integration Services (SSIS), позволяет развернуть один пакет или несколько, не развертывая весь проект.

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

Сравнение модели развертывания проектов и устаревшей модели развертывания пакетов

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

Использование модели развертывания проектаИспользование устаревшей модели развертывания пакетов
Единицей развертывания является проект.Единицей развертывания является пакет.
Для присвоения значений свойствам пакета используются параметры.Для присвоения значений свойствам пакета используются конфигурации.
Проект, содержащий пакеты и параметры, создается в виде файла развертывания проекта (с расширением ISPAC).Пакеты (с расширением DTSX) и конфигурации (с расширением DTSCONFIG) сохраняются в файловой системе отдельно.
Проект, содержащий пакеты и параметры, развертывается в каталог служб SSISDB на экземпляре SQL Server.Пакеты и конфигурации копируются в файловую систему на другом компьютере. Пакеты также могут быть сохранены в базе данных MSDB на экземпляре SQL Server.
Для компонента Database Engine требуется интеграция со средой CLR.Интеграция со средой CLR для компонента Database Engine не требуется.
Значения параметров, относящихся к среде, сохраняются в переменных среды.Значения конфигурации, относящиеся к среде, сохраняются в файлах конфигурации.
Проекты и пакеты в каталоге могут быть проверены на сервере перед выполнением. Для выполнения проверки можно использовать среду SQL Server Management Studio, хранимые процедуры или управляемый код.Проверка пакетов производится перед их выполнением. Также пакеты можно проверить с помощью программы dtExec или управляемого кода.
Пакеты выполняются путем запуска выполнения в компоненте Database Engine. Идентификатор проекта, явные значения проекта (необязательно) и ссылки на среду (необязательно) назначаются выполнению перед его запуском.

Функции модели развертывания проекта

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

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

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

Разрешения, необходимые для развертывания проектов и пакетов служб SSIS

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

Как правило, эта ошибка связана с отсутствием разрешений DCOM. Чтобы устранить ее, выполните следующие действия.

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

Deploy Projects to Integration Services Server

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

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

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

При создании проекта в службах Службы SQL Server 2014 Integration Services (SSIS) или более поздней версии по умолчанию используется модель развертывания проекта.

Если проект был создан в более раннем выпуске служб Службы Integration Services, то после открытия файла проекта в среде Visual Studioнеобходимо преобразовать проект в модель развертывания проекта.

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

В зависимости от того, запускается ли Мастер преобразования проекта служб Integration Services из Visual Studio или из среды SQL Server Management Studio, он выполняет разные задачи по преобразованию.

Если мастер запускается из Visual Studio, пакеты, содержащиеся в проекте, преобразовываются из Службы Integration Services 2005, 2008 или 2008 R2 в формат, который используется текущей версией служб Службы Integration Services. Исходные файлы проекта (DTPROJ) и пакета (DTSX) обновляются.

Если мастер запускается из SQL Server Management Studio, мастер формирует файл развертывания проекта (ISPAC) из пакетов и конфигураций, содержащихся в проекте. Исходные файлы пакета (DTSX) не обновляются.

На странице Выбор назначения мастера вы можете создать или выбрать существующий файл.

(Необязательно.) Создайте среду для развернутого проекта.

Преобразование проекта в модель развертывания проекта

Откройте проект в Visual Studio, а затем в обозревателе решений щелкните его правой кнопкой мыши и выберите команду Преобразовать в модель развертывания проекта.

В среде Среда Management Studioв обозревателе объектов щелкните правой кнопкой мыши узел Проекты и выберите команду Импорт пакетов.

Завершите работу мастера.

Развертывание проекта на сервере служб Integration Services

В среде SQL Server Management Studioразверните узел Службы Integration Services > SSISDB в обозревателе объектов и найдите папку «Проекты» для того проекта, который требуется развернуть. Щелкните папку Проекты правой кнопкой мыши и выберите команду Развернуть проект.

Завершите работу мастера.

Развертывание пакетов на сервере служб Integration Services

Развертывание пакетов с помощью мастера развертывания служб Integration Services

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

Завершите работу мастера. Выполните оставшиеся действия, описанные в статье Package Deployment Model.

Развертывание пакетов с помощью среды SQL Server Management Studio

Щелкните папку Проекты правой кнопкой мыши и выберите команду Deploy Projects(Развернуть проекты).

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

Завершите работу мастера. Выполните оставшиеся действия, описанные в статье Package Deployment Model.

Развертывание пакетов с помощью SQL Server Data Tools (Visual Studio)

В Visual Studio откройте проект служб Integration Services, выберите пакет или пакеты, которые требуется развернуть.

Щелкните правой кнопкой мыши и выберите пункт Развернуть пакет. Откроется мастер развертывания, в котором выбранные пакеты будут настроены в качестве исходных.

Завершите работу мастера. Выполните оставшиеся действия, описанные в статье Package Deployment Model.

Развертывание пакетов с помощью хранимой процедуры deploy_packages

Развертывание пакетов с помощью API объектной модели управления

В следующем примере кода показано использование API объектной модели управления для развертывания пакетов на сервере.

Преобразовать в модель диалоговое окно «пакет развертывания»

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

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

Если проект или пакеты не прошли проверку на совместимость, щелкните Ошибка в столбце Результат для получения дополнительных сведений. Нажмите кнопку Сохранить отчет для сохранения копии этих сведений в текстовый файл.

Если проект и все пакеты прошли испытание на совместимость, нажмите кнопку ОК для преобразования пакета.

Для преобразования проекта в модель развертывания проектов воспользуйтесь Мастером преобразования проекта служб Integration Services. Дополнительные сведения см. в статье Integration Services Project Conversion Wizard.

Мастер развертывания служб Integration Services

Мастер развертывания служб Integration Services поддерживает две модели развертывания:

Модель развертывания проекта позволяет развернуть проект служб SQL Server Integration Services (SSIS) как единый объект в каталоге служб SSIS.

Модель развертывания пакета позволяет развертывать обновленные пакеты в каталоге служб SSIS, не развертывая весь проект.

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

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

Запустите мастер одним из следующих способов.

Параметры на этой странице отличаются для каждой модели развертывания. Выполните шаги в разделе Project Deployment Model или Package Deployment Model в зависимости от модели, выбранной на этой странице.

Project Deployment Model

Выбор источника

Выбор назначения

Просмотр (и развертывание)

Результаты

Package Deployment Model

Выбор источника

На странице Выбор источника****мастера развертывания служб Integration Services содержатся параметры модели развертывания пакета, если в качестве модели развертывания выбран вариант Развертывание пакета.

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

Выбор назначения

Выбрав источники пакетов, нажмите кнопку Далее, чтобы перейти на страницу Выбор назначения. Пакеты нужно развертывать в проект в каталоге служб SSIS (SSISDB). Перед развертыванием пакетов убедитесь, что проект назначения уже существует в каталоге служб SSIS. Если проекта не существует, создайте пустой проект. На странице Выбор назначения введите имя сервера в текстовом поле Имя сервера или нажмите кнопку Обзор…, чтобы выбрать экземпляр сервера. Затем нажмите кнопку Обзор… возле текстового поля Путь, чтобы указать проект назначения. Если проекта не существует, создайте в качестве проекта назначения пустой проект, щелкнув Создать проект…. Проект обязательно создается в папке.

Просмотр и развертывание

Результаты

Создание и сопоставление серверной среды

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

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

У представлений можно запрашивать список серверных сред, ссылок на среды и переменных сред. Также можно вызывать хранимые процедуры для добавления, удаления и изменения сред, ссылок на среды и переменных сред. Дополнительные сведения см. в разделе Серверные среды, переменные сервера и ссылки на серверные среды в SSIS Catalog.

Создание и использование серверной среды

В среде Среда Management Studio разверните узел «Каталоги Службы Integration Services» > SSISDB в обозревателе объектов и найдите папку Среды для проекта, для которого требуется создать среду.

Щелкните правой кнопкой мыши папку Среды и выберите команду Создать среду.

Введите имя для среды и, при желании, описание. Нажмите кнопку ОК.

Щелкните правой кнопкой мыши новую среду и выберите команду Свойства.

На странице Переменные выполните следующие действия, чтобы добавить переменную.

Выберите Тип переменной. Имя переменной не обязательно должно совпадать с именем параметра проекта, с которым эта переменная будет сопоставлена.

Введите необязательное Описание для переменной.

Введите Значение переменной среды.

Сведения о правилах для имен переменных сред см. в разделе Переменная среды в SSIS Catalog.

Конфиденциальные значения шифруются в каталоге SSISDB. Дополнительные сведения о шифровании см. в разделе SSIS Catalog.

На странице Разрешения предоставьте или запретите соответствующие разрешения выбранным пользователям и ролям, выполнив следующие действия.

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

В области Явно щелкните Предоставить или Запретить рядом с каждым разрешением.

Чтобы создать скрипт среды, щелкните Скрипт. По умолчанию скрипт открывает новое окно редактора запросов.

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

Снова щелкните правой кнопкой мыши проект и выберите пункт Настроить.

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

Нажмите кнопку Использовать переменную среды, а затем выберите созданную переменную среды.

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

На вкладке Диспетчеры соединений на странице Параметры нажмите кнопку обзора рядом с полем Значение.

Нажмите кнопку Использовать переменную среды, а затем выберите созданную переменную среды.

Нажмите кнопку ОК дважды для сохранения изменений.

Развертывание и выполнение пакетов служб SSIS с помощью хранимых процедур

Не составит труда создать инструкции Transact-SQL для хранимых процедур, перечисленных в следующей процедуре, за исключением catalog.deploy_project, выполнив следующие действия.

В SQL Server Management Studioразверните узел Каталоги служб Integration Services в обозревателе объектов и перейдите к пакету, который нужно выполнить.

Щелкните правой кнопкой мыши пакет и выберите команду Выполнить.

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

Перед нажатием кнопки ОК для выполнения пакета выберите пункт Скрипт. Код Transact-SQL откроется в окне редактора запросов среды SQL Server Management Studio.

Развертывание и выполнение пакета с помощью хранимых процедур

Вызовите catalog.deploy_project (база данных SSISDB), чтобы развернуть проект Службы Integration Services, который содержит пакет, на сервере Службы Integration Services.

Можно использовать инструкцию SELECT с функцией OPENROWSET и поставщиком больших наборов строк (BULK) для получения двоичного содержимого файла развертывания проекта Службы Integration Services для параметра @project_stream. Поставщик больших наборов строк позволяет считывать данные из файла. Аргумент SINGLE_BLOB для поставщика больших наборов строк возвращает содержимое файла данных в виде набора строк с одной строкой и одним столбцом типа varbinary(max). Дополнительные сведения см. в разделе OPENROWSET (Transact-SQL).

Вызовите функциюcatalog.create_execution (база данных SSISDB), чтобы создать экземпляр выполнения пакета, и при необходимости вызовите функцию catalog.set_execution_parameter_value (база данных SSISDB), чтобы задать значения параметров среды выполнения.

В следующем примере catalog.create_execution создает экземпляр для выполнения package.dtsx, содержащегося в проекте SSISPackage_ProjectDeployment. Проект располагается в папке SSIS Packages. Значение execution_id, возвращаемое хранимой процедурой, используется для вызова функции catalog.set_execution_parameter_value. Эта вторая хранимая процедура устанавливает параметр LOGGING_LEVEL равным 3 (подробный уровень ведения журнала) и задает параметру пакета Parameter1 значение 1.

Для таких параметров, как LOGGING_LEVEL, значение object_type равно 50. Для параметров пакета значение object_type равно 30.

В следующем примере вызов catalog.start_execution добавляется в Transact-SQL, чтобы можно было начать выполнение пакета. Используется значение execution_id, возвращаемое хранимой процедурой catalog.create_execution.

Развертывание проекта из сервера на сервер с использованием хранимых процедур

Проект можно развернуть из сервера на сервер с помощью хранимых процедур catalog.get_project (база данных SSISDB) и catalog.deploy_project (база данных SSISDB).

Необходимо выполнить следующие действия перед выполнением хранимых процедур.

Создание связанного объекта сервера. Дополнительные сведения см. в разделе (Создание связанных серверов (компонент SQL Server Database Engine)).

На странице Параметры сервера диалогового окна Свойства связанного сервера назначьте для RPC и RPC Out значения True. Кроме того, назначьте свойству Разрешить продвижение распределенных транзакций для RPC значение False.

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

Убедитесь, что на обоих серверах запущен координатор распределенных транзакций (DTC).

Вызовите catalog.get_project для получения двоичных файлов проекта, а затем вызовите catalog.deploy_project. Значение, возвращаемое catalog.get_project, вставляется в табличную переменную типа varbinary(max). Связанный сервер не может возвращать результаты типа varbinary(max).

В следующем примере catalog.get_project возвращает двоичный результат для проекта SSISPackages на связанном сервере. Catalog.deploy_project развертывает проект на локальном сервере в папке с именем DestFolder.

Мастером преобразования проекта служб Integration Services

Мастер преобразования проекта служб Integration Services преобразует проект в модель развертывания проекта.

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

Источник

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

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