SQL Server Integration Services

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
SQL Server Integration Services
Тип ETL-інструмент
Розробники Microsoft
Операційна система Microsoft Windows
Ліцензія Пропрієтарне комерційне програмне забезпечення
Вебсайт technet.microsoft.com/en-us/library/ms141026.aspx

SQL Server Integration Services (SSIS) — це компонент СКБД Microsoft SQL Server, який може бути використаний для виконання широкого кола завдань з міграції даних.

SSIS — це платформа для інтеграції даних та додатків для автоматизації процесу[en] по роботі з даними. Також присутній інструмент зберігання даних, який використовується для побудови процесів вилучення, перетворення та завантаження даних (ETL). Інструмент може бути використаний також для автоматизації обслуговування баз даних SQL Server та оновлення багатовимірних OLAP-кубів.

Перший випуск відбувся разом із Microsoft SQL Server 2005, в якій SSIS замінив службу перетворення даних Data Transformation Services[en] (DTS), що були особливістю SQL Server починаючи з версії 7.0. На відміну від DTS, який був доступним у всіх версіях, SSIS доступний лише у редакціях «Standard», «Business Intelligence» та «Enterprise»[1]. В Microsoft «Visual Studio Dev Essentials» тепер можна безкоштовно використовувати SSIS разом з Visual Studio 2017 для розробки та навчання.

Особливості[ред. | ред. код]

Майстер Імпорту/Експорту SSIS дозволяє користувачу створювати пакети, які переміщують дані з одного джерела даних до місця призначення без будь-яких перетворень. Майстер може швидко переміщувати дані з різних типів джерел до різних типів призначення, включаючи текстові файли та інші екземпляри SQL Server.

Розробники, які мають завдання створити або підтримувати пакети SSIS, використовують інструмент для візуальної розробки за допомогою Microsoft Visual Studio під назвою SQL Server Business Intelligence Development Studio[en] (BIDS). Він дозволяє користувачам редагувати SSIS пакети за допомогою інтерфейсу drag-and-drop. Також в цьому інструменті доступне середовище для створення сценаріїв, в якому можна писати програмний код. Пакет містить різні елементи, які визначають процес обробки даних. Під час виконання пакету інструмент забезпечує моніторинг у реальному часі з різнокольоровим унаочненням. (Примітка. В останніх версіях MS SQL Server BIDS було замінено на «SQL Server Data Tools — Business Intelligence» (SSDT-BI)[2][3].)

З'єднання
З'єднання містить інформацію, необхідну для підключення до певного джерела даних. Завдання можуть посилатися на з'єднання за його назвою, дозволяючи змінити або налаштувати параметри з'єднання під час виконання.
Обробники подій
Робочий процес може бути розроблений для ряду подій у різних сферах, де вони можуть бути потрібними. Таким чином, завдання можуть бути виконані у відповідь на події всередині пакета — наприклад, це може бути очищення після помилок.
Параметри (SQL Server 2012 Integration Services)
Параметри дозволяють призначати значення властивостям в пакетах під час виконання пакету. Ви можете мати параметри проекту та параметри пакета. Загалом, якщо ви розгортаєте пакет за допомогою моделі розгортання пакета, вам слід використовувати конфігурації замість параметрів.
Обмеження пріоритету
Завдання пов'язані з обмеженнями пріоритету. Обмеження пріоритету, що передує певній задачі, має бути виконано до того, як само завдання буде виконано. Підтримується одночасне виконання завдань, якщо їх обмеження пріоритету це дозволяють. Інакше обмеження можуть допускати різні послідовності виконання залежно від успішності чи провалу інших завдань. Обмеження пріоритету разом із завданнями описують робочий процес виконання пакету.
Завдання
Завдання — елементарний робочий блок, який виконує якусь дію. Існує кілька десятків різних завдань, починаючи від завдання для файлової системи (яка може копіювати або переміщувати файли) до завдання перетворення даних. Завдання перетворення даних фактично копіює дані та реалізує ETL-властивості.
Змінні
Завдання можуть посилатися на змінні, щоб зберегти результати роботи, приймати рішення або впливати на конфігурацію завдань.

Пакет може бути збережений у файл або в сховище з ієрархічним простором імен в екземплярі SQL Server. В будь-якому випадку вміст пакету зберігається у форматі XML.

Після створення пакету, середовище розробки дозволяє користувачеві розпочати виконання пакету. Під час виконання пакет може бути легко налагоджений або перевірений на правильність виконання.

Особливості завдання потоку даних[ред. | ред. код]

SSIS забезпечує такі вбудовані перетворення[4]:

Агрегація Експорт та імпорт стовпця Зведена таблиця
Аудит Контейнер циклу For Лічильник рядків
Перетворення кешу[5] Контейнер циклу Foreach Відбір рядків
Копіювання/відображення (Нечіткий) пошук Компонента сценарію
Перетворення даних Нечітке групування Розмірності з повільною зміною[en]
Навчання моделі для моделювання даних OLE DB команда Видобування термінології
Запит на майнінг даних Обробка розділів Пошук термів
Похідний стовпчик Вибірка відсотку даних[6] Не зведена таблиця
Обробка розмірності Перетворення відібраних зразків рядків

Умовно-розділове (Conditional Split) перетворення використовується для створення різних шляхів обробки рядків на основі певної умови. Це схоже на конструкцію «if … else» у мові С.

Інші інструменти[ред. | ред. код]

Окрім Майстру Імпорту/Експорту та дизайнера, SSIS включає ще кілька важливих інструментів.

DTEXEC виконує пакет з командного рядка, де б він не зберігався[7][8]. Перед виконанням пакету цей інструмент може мати припис застосувати інформацію про конфігурацію, що дозволяє повторно використовувати один і той же пакет вже з трохи відмінними параметрами, наприклад, це можуть бути різні з'єднання з кінцевими точками.

DTUTIL надає можливість керувати пакетами з командного рядка[9][10]. Цей інструмент дозволяє копіювати або переміщувати пакет з файлу в сховище сервера або копіювати в протилежному напрямку. Також є функції видалення, перейменування, шифрування або дешифрування пакетів.

Розширюваність та програмованість[ред. | ред. код]

Користувачі можуть писати код для визначення власних об'єктів з'єднання, постачальників журналювання, перетворень та завдань[11][12].

SSIS має програмовану об'єктну модель, яка дозволяє розробникам створювати власні хости для виконання пакету. Такий хост може реагувати на події, запускати та зупиняти виконання пакетів, тощо. Об'єктна модель також дозволяє розробникам створювати, зберігати та завантажувати пакети, а також створювати, видаляти та змінювати будь-який із об'єктів.

У певних межах пакети SSIS можуть завантажувати та викликати CLI-складання[en] DLL, забезпечуючи доступ практично до будь-якого типу операцій, дозволених в .NET CLR.

SSIS можна використовувати для всіх версій SQL Server 2005, 2008, 2008 R2, 2012, 2014 та 2016, окрім Express та Workgroup.

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Features Supported by the Editions of SQL Server 2014. msdn.microsoft.com. Microsoft Developer Network. Архів оригіналу за 21 серпня 2014. Процитовано 20 серпня 2014.
  2. Архівована копія. Архів оригіналу за 13 жовтня 2017. Процитовано 8 грудня 2019.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  3. Архівована копія. Архів оригіналу за 25 червня 2015. Процитовано 8 грудня 2019.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  4. Integration Services Transformations. Microsoft Developer Network. Microsoft. Архів оригіналу за 4 липня 2013. Процитовано 22 березня 2013.
  5. Cache Transform. Microsoft Developer Network. Microsoft. Архів оригіналу за 11 березня 2016. Процитовано 22 березня 2013.
  6. Percentage Sampling Transformation. Microsoft Developer Network. Microsoft. Архів оригіналу за 22 вересня 2012. Процитовано 22 березня 2013.
  7. dtexec Utility (SSIS Tool). Microsoft Developer Network. Microsoft. Архів оригіналу за 28 червня 2016. Процитовано 24 березня 2013.
  8. Marcin Policht (9 серпня 2010). Executing SSIS Packages Using DTExec. Database Journal. Архів оригіналу за 8 грудня 2019. Процитовано 24 березня 2013.
  9. dtutil Utility (SSIS Tool). Microsoft Developer Network. Microsoft. Архів оригіналу за 1 січня 2015. Процитовано 24 березня 2013.
  10. Yan Pan (20 березня 2008). Using dtutil to copy SSIS packages stored in SQL Server. Database Journal. Архів оригіналу за 8 грудня 2019. Процитовано 24 березня 2013.
  11. Developing a Custom Data Flow Component. Microsoft Developer Network. Microsoft. Архів оригіналу за 20 липня 2012. Процитовано 22 березня 2013.
  12. Developing a Custom Task. Microsoft Developer Network. Microsoft. Архів оригіналу за 6 січня 2013. Процитовано 22 березня 2013.

Посилання[ред. | ред. код]