Ssis пакеты что это
SQL Server Integration Services (SSIS) — Описание служб интеграции
В состав Microsoft SQL Server входит компонент SQL Server Integration Services, и сегодня мы узнаем, для чего нужен этот компонент, а также рассмотрим его основные возможности.
Как Вы, наверное, знаете, Microsoft SQL Server включает не только основной компонент Database Engine, но и много других полезных компонентов, например, ранее мы с Вами рассмотрели SQL Server Reporting Services — это полноценный компонент создания и публикации отчетов. Сейчас на очереди у нас службы Integration Services, которые являются также очень полезными и важными. Итак, давайте приступать.
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.
Среда SQL Server Management Studio
С этой средой я думаю, Вы уже знакомы, в службах Integration Services она выступает в качестве инструмента управления пакетами, а также инструментом наблюдения, т.е. в ней можно увидеть какие пакеты в данный момент выполняются. Также с помощью Management Studio можно запускать, импортировать, экспортировать пакеты и создавать каталоги в файловой системе для их хранения.
Программы командной строки
Запускать пакеты, а также управлять ими можно из командной строки для этого служат следующие программы:
Заметка! Если Вас интересует 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 является понятие пакета. Это сборник задач, которые выполняются упорядоченно. Здесь ограничения президента помогают управлять порядком, в котором будет выполняться задача.
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 преобразует проект в модель развертывания проекта. Если проект содержит один или более источников данных, то они будут удалены после завершения преобразования проекта. Для создания соединения с источником данных, который может совместно использоваться пакетами в проекте, добавьте диспетчер соединений на уровне проекта. Дополнительные сведения см. в статье Добавление, удаление или совместное использование диспетчера соединений в пакете.
|