Меню Закрыть

Sql server integration services ssis

SQL Server Integration Services

Operating systemMicrosoft Windows
TypeETL Tools
LicenseProprietary commercial software
Websitetechnet .microsoft .com /en-us /library /ms141026 .aspx

SQL Server Integration Services (SSIS) is a component of the Microsoft SQL Server database software that can be used to perform a broad range of data migration tasks.

SSIS is a platform for data integration and workflow applications. It features a data warehousing tool used for data extraction, transformation, and loading (ETL). The tool may also be used to automate maintenance of SQL Server databases and updates to multidimensional cube data

First released with Microsoft SQL Server 2005, SSIS replaced Data Transformation Services, which had been a feature of SQL Server since Version 7.0. Unlike DTS, which was included in all versions, SSIS is only available in the "Standard", "Business Intelligence" and "Enterprise" editions. [1] With Microsoft "Visual Studio Dev Essentials" it is now possible to use SSIS with Visual Studio 2017 free of cost so long as it is for development and learning purposes only.


Features [ edit ]

The SSIS Import/Export Wizard lets the user create packages that move data from a single data source to a destination with no transformations. The Wizard can quickly move data from a variety of source types to a variety of destination types, including text files and other SQL Server instances.

Developers tasked with creating or maintaining SSIS packages use a visual development tool based on Microsoft Visual Studio called the SQL Server Business Intelligence Development Studio (B >[2] [3] )

Connections A connection includes the information necessary to connect to a particular data source. Tasks can reference the connection by its name, allowing the details of the connection to be changed or configured at run time. Event handlers A workflow can be designed for a number of events in the different scopes where they might occur. In this way, tasks may be executed in response to happenings within the package — such as cleaning up after errors. Parameters (SQL Server 2012 Integration Services) Parameters allow you to assign values to properties within packages at the time of package execution. You can have project parameters and package parameters. In general, if you are deploying a package using the package deployment model, you should use configurations instead of parameters. Precedence constraints Tasks are linked by precedence constraints. The precedence constraint preceding a particular task must be met before that task executes. The run time supports executing tasks in parallel, if their precedence constraints so allow. Constraints may otherwise allow different paths of execution depending on the success or failure of other tasks. Together with the tasks, precedence constraints comprise the workflow of the package. Tasks A task is an atomic work unit that performs some action. There are a couple of dozen tasks that ship in the box, ranging from the file system task (that can copy or move files) to the data transformation task. The data transformation task actually copies data; it implements the ETL features of the product Variables Tasks may reference variables to store results, make decisions, or affect their configuration.

A package may be saved to a file or to a store with a hierarchical namespace within a SQL Server instance. In either case, the package content is persisted in XML.

Once completed, the designer also allows the user to start the package’s execution. Once started, the package may be readily debugged or monitored.

Features of the data flow task [ edit ]

AggregationExport & Import ColumnPivot
AuditFor loop ContainerRow Count
Cache Transform [5]Foreach Loop ContainerRow Sampling
Copy/Map(Fuzzy) LookupScript Component
Data ConversionFuzzy GroupingSlowly Changing Dimension
Data Mining Model TrainingOLE DB CommandTerm Extraction
Data Mining QueryPartition ProcessingTerm Lookup
Derived ColumnPercentage Sampling [6]Unpivot
Dimension ProcessingRow Sampling Transformation

The Conditional Split transformation is used to conditionally route rows to other transformation objects based on a particular condition. It is similar to the " if … else " construct in the C language.

Other included tools [ edit ]

Aside from the Import/Export Wizard and the designer, the product includes a few other notable tools.

DTEXEC executes a package from the command line wherever it may be stored. [7] [8] Before running the package, the tool may be instructed to apply configuration information, which will allow the same package to be reused with slightly different parameters, including different connection strings for its endpoints.

Читайте также:  Edy71 ru электр журнал

DTUTIL prov >[9] [10] The tool can copy or move a package from a file into the server store, or back out again. Among a few other sundry functions, it can be used to delete, rename, encrypt, or decrypt packages.

Extensibility and programmability [ edit ]

Users may write code to define their own connection objects, log prov >[11] [12]

SSIS features a programmable object model that allows developers to write their own hosts for package execution. Such a host can respond to events, start and stop packages, and so on. The object model also allows developers to create, store, and load packages, as well as create, destroy, and modify any of the contained objects.

Within limits, SSIS packages can load and call CLI assembly DLLs, providing access to virtually any kind of operation permissible by the .NET CLR.

SSIS can be used on all SQL Server 2005, 2008, 2008 R2, 2012, 2014 and 2016 editions except Express and Workgroup.

В состав 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

  • С помощью SSIS можно осуществлять простой импорт и экспорт данных из одного источника в другой. Для этих целей Microsoft даже разработал специальный отдельный инструмент, т.е. своего рода «Мастер», который выполняет эти действия максимально просто. О нем мы разговаривали в материале «Средство импорта и экспорта данных в MS Sql 2008». И если кто помнит, в одном из последних окон там предлагается сохранить все действия в пакет SSIS, для того чтобы потом его можно было редактировать и выполнять. Другими словами, все что умеет «Мастер импорта и экспорта» можно автоматизировать через пакет SSIS;
  • Автоматизация простого импорта и экспорта — это конечно хорошо, но службы Integration Services способны гораздо на большее. Допустим, Вам необходимо осуществить сбор информации (выгрузить данные) из нескольких источников, разных, т.е. например, из MS SQL Server, из какой-то базы Access, из парочки текстовых файлов и других. Затем необходимо эти данные преобразовать, объединить, отфильтровать и разбить по назначению, например, каждому пользователю нужно предоставить только ту часть информации, за которую отвечает именно он. А потом все это выгрузить, причем в том формате, который удобен конкретному пользователю, к примеру, одному удобно работать в Excel, а другой, продвинутый пользователь, хочет видеть эти данные в Access. И в итоге разложить эти файлы по папкам, которые указали пользователи. Все это можно сделать внутри одного пакета SSIS. И этот пакет можно расширять, все зависит от Ваших потребностей. Вот другая ситуация, когда SSIS будет очень полезен и сэкономит достаточно много времени, допустим, Вам необходимо организовать заполнение некого хранилища данных на постоянной основе из различных источников данных. SQL Server Integration Services поддерживает очень много разных источников данных, с которыми он может установить связь, например, конечно же, вышеуказанные SQL Server, базы Access, файлы Excel, XML, текстовые файлы и другие (подробней об этом можно почитать в электронной документации по SQL Server);
  • В пакет SQL Server Integration Services можно включать задачи по запуску исполняемых файлов (exe) или пакетных файлов (bat) что, как Вы понимаете, позволяет автоматизировать задачи вообще не связанные с импортом и экспортом данных. Например, у Вас возникла необходимость запустить одну программу, которая будет выполнять некие вычисления, а когда она завершит свою работу запустить другую программу, а когда и она завершится, то третью ну, в общем, возможность запускать программы из пакета есть, а как использовать ее решать, конечно, Вам;
  • SQL Server Integration Services позволяет выполнять задачи связанные с обслуживанием баз данных, т.е. функции администрирования. Для этих целей в SSIS даже создан специальный блок «Задачи плана обслуживания», в который включены такие задачи как: резервное копирование базы дынных, сжатие базы данных, очистка журнала, обновление статистики, перестроение индекса и другие. Другими словами, если у Вас есть подобные задачи, и они у Вас не автоматизированы, Вы можете автоматизировать их, используя пакеты SSIS;
  • С помощью служб Integration Services можно получить доступ к объектам и данным SQL сервера и соответственно выполнять над ними операции, например, вставки, удаления или изменения данных. Другими словами, из пакета SSIS можно выполнять SQL инструкции или хранимые процедуры;
  • SSIS умеет работать и с файловой системой, т.е. выполнять операции связанные с файлами и каталогами, например, создавать, копировать, перемещать или удалять файлы и папки. Допустим, Вам необходимо автоматизировать процесс копирования каких-то файлов на постоянной основе, это можно сделать как с помощью простых bat файлов, так и с помощью пакетов SSIS.
  • В SQL Server Integration Services есть возможность отправлять сообщения электронной почты. Например, Вы хотите получать письмо об успешном или неуспешном завершении той или иной задачи.
Читайте также:  Sapphire radeon r7 250 1gb gddr5

Как Вы понимаете это далеко не полный список возможностей служб 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#

SQL Server Integration Services позволяет расширять стандартные возможности путем написания скриптов на языках программирования Visual Basic или C#. Другими словами, если встроенных задач SSIS Вам мало, Вы можете написать собственную задачу. Для этого есть встроенная задача «Сценарий», которая позволяет писать скрипты на Visual Basic или C# в среде Visual Studio, при этом все возможности предоставляемые платформой Microsoft .NET Framework также будут доступны.

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

Для обеспечения целостности данных в 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 можно запускать, импортировать, экспортировать пакеты и создавать каталоги в файловой системе для их хранения.

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

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

  • dtexec – программа для запуска пакетов;
  • dtutil – программа для управления пакетами.

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

ОБЛАСТЬ ПРИМЕНЕНИЯ: SQL Server Среда выполнения интеграции SSIS в Фабрике данных Azure APPLIES TO: SQL Server SSIS Integration Runtime in Azure Data Factory

Службы Integration Services Integration Services от Microsoft Microsoft — это платформа для построения решений по интеграции и преобразованию данных уровня предприятия. Службы Integration Services Integration Services is a platform for building enterprise-level data integration and data transformations solutions. Службы Integration Services Integration Services можно использовать при решении сложных бизнес-задач путем копирования и загрузки файлов, загрузки хранилищ данных, очистки и интеллектуального анализа данных, а также управления объектами и данными SQL Server SQL Server . Use Службы Integration Services Integration Services to solve complex business problems by copying or downloading files, loading data warehouses, cleansing and mining data, and managing SQL Server SQL Server objects and data.

Службы Integration Services Integration Services могут извлекать и преобразовывать данные из ряда таких источников, как файлы XML-данных, неструктурированные файлы и источники реляционных данных, и затем загружать эти данные в один или несколько реляционных объектов. can extract and transform data from a wide variety of sources such as XML data files, flat files, and relational data sources, and then load the data into one or more destinations.

Службы Integration Services Integration Services содержат в себе широкий набор встроенных задач и преобразований, а также графические средства для создания пакетов. Кроме того, Службы Integration Services Integration Services включают базу данных каталога для хранения, выполнения и администрирования пакетов. includes a rich set of built-in tasks and transformations, graphical tools for building packages, and the Службы Integration Services Integration Services Catalog database, where you store, run, and manage packages.

Вы можете использовать графические средства, входящие в Службы Integration Services Integration Services , для создания решений без необходимости писать код. You can use the graphical Службы Integration Services Integration Services tools to create solutions without writing a single line of code. Службы Integration Services Integration Services также позволяют вам настроить подробную объектную модель для создания пакетов программным способом, а также написания пользовательских задач и других объектов пакета. You can also program the extensive Службы Integration Services Integration Services object model to create packages programmatically and code custom tasks and other package objects.

Получение MSSQL Integration Services Get SQL Server Integration Services

См. дополнительные сведения об установке MSSQL Integration Services с помощью SQL Server, а также о дополнительных скачиваемых компонентах, которые могут вам понадобиться. For info about installing SQL Server Integration Services with SQL Server, and about additional downloads you may want or need, see Install Integration Services.

Рекомендуем к прочтению

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

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



Adblock detector