Підручник з SSIS для початківців: ArchiТекстура, пакети та компоненти

⚡ Розумний підсумок

Служби інтеграції SQL Server (SSIS) є компонентом Microsoft SQL Server використовується для створення рішень для інтеграції даних та робочих процесів, виконуючи extracобробки, перетворення та завантаження (ETL) для переміщення та очищення даних між різними джерелами та місцями призначення.

  • 🔄 Двигун ETL: SSIS extracдані ts з таких джерел, як SQL Server, Excel, Oracle, а DB2, потім перетворює та завантажує його в місце призначення.
  • 🧠 Потік керування: Потік керування — це мозок пакета, який упорядковує контейнери та завдання за допомогою обмежень пріоритету.
  • ❤️ Потік даних: Потік даних – це серце SSIS, яке переміщує рядки через джерела, перетворення та призначення в пам'яті.
  • 📦 Пакети: Пакет групує завдання, що виконуються по порядку, та зберігає їх як файл .dtsx на SQL Server або у файловій системі.
  • 🧩 Завдання: Попередньо створені завдання, такі як виконання SQL, потік даних, файлова система, FTP та надсилання Mail налаштовуються шляхом перетягування.
  • ⚡ Переваги: SSIS автоматизує завантаження даних, очищує та стандартизує їх, а також забезпечує надійну обробку помилок та подій.

Служби інтеграції SQL Server (SSIS): архітектура, пакети, завдання та робочий процес ETL

Що таке SSIS?

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

Це спрощує переміщення даних з однієї бази даних до іншої. SSIS може...tracдані з широкого кола джерел, таких як бази даних SQL Server, файли Excel, Oracle і бази даних DB2, та багато іншого.

SSIS також містить графічні інструменти та майстри для виконання функцій робочого процесу, таких як надсилання електронних листів, операції FTP та налаштування джерел даних і місць призначення.

Чому ми використовуємо SSIS?

Ось основні причини використання інструменту SSIS:

  • SSIS допомагає об'єднувати дані з різних сховищ даних.
  • Він автоматизує адміністративні функції та завантаження даних.
  • Він заповнює сховища даних та вітрини даних.
  • Це допомагає вам очищати та стандартизувати дані.
  • Це вбудовує бізнес-аналітику в процес перетворення даних.
  • SSIS містить графічний інтерфейс, який допомагає користувачам легко трансформувати дані, а не писати великі програми.
  • Він може завантажити мільйони рядків з одного джерела даних до іншого за лічені хвилини.
  • Він ідентифікує, фіксує та обробляє зміни даних.
  • Він координує ведення, обробку та аналіз даних.
  • SSIS усуває потребу в хардкорних програмістах.
  • SSIS пропонує надійну обробку помилок та подій.

Історія SSIS

До появи SSIS використовувалися служби трансформації даних SQL Server (DTS), які були частиною SQL Server 7 та 2000. Таблиця нижче tracяк кожен випуск SQL Server впливав на цей інструмент:

версія деталь
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 Було додано поетапне розгортання пакетів, щоб окремі пакети можна було перенести до існуючого проекту. Каталог SSISDB отримав підтримку групи доступності Always On, налаштовувані рівні журналювання та назви стовпців помилок. Додаткові хмарні та великі джерела даних з'явилися через… Azure Пакет функцій.
SQL Server 2017 Впроваджено масштабування, яке розподіляє виконання пакетів на кілька робочих машин, керованих з однієї головної машини. SSIS також вперше могла працювати на Linux, а пакети можна було розгортати в SSISDB на Azure База даних SQL та виконана на Azure-Середовище виконання інтеграції SSIS у Azure Фабрика даних.
SQL Server 2019 Тихий реліз, зосереджений на обробці файлів у хмарі. Гнучке завдання файлів та Гнучке джерело/призначення файлів спростили роботу з файлами в Azure сховища, включаючи формати Avro, ORC та Parquet (для них потрібен Java runtime).
SQL Server 2022 По суті, жодних нових функцій SSIS. Двигун був перенесений без змін, водночас Microsoftінвестиції в інтеграцію даних змістилися в бік Azure Фабрика даних, а пізніше, Microsoft Тканина.
SQL Server 2025 Випущено о Microsoft Ignite у листопаді 2025 року. Основним доповненням є менеджер підключень ADO.NET, побудований на сучасній MicrosoftПостачальник .Data.SqlClient, що забезпечує TLS 1.3 та Microsoft Автентифікація за ідентифікатором Entra. У цьому випуску також видалено або застаріло багато компонентів: компоненти Attunity CDC, завдання Hadoop, сховище пакетів SSIS, застарілу службу Integration Services та 32-розрядний режим виконання.

Основні функції SSIS

Ось деякі важливі функції SSIS:

  • Студійне середовище
  • Відповідні функції інтеграції даних
  • Ефективна швидкість реалізації
  • Тісна інтеграція з іншими Microsoft Сімейство SQL
  • Трансформація запитів для інтелектуального аналізу даних
  • Нечіткий пошук та групуванняping перетворень
  • Термін Extracперетворення ції та пошуку термінів
  • Компоненти високошвидкісного підключення до даних, такі як підключення до SAP or Oracle

SSIS Archiтектура

На діаграмі нижче показано, як основні компоненти SSIS поєднуються між собою, від потоку керування до параметрів:

Діаграма архітектури SSIS: потік керування, потік даних, обробник подій, провідник пакетів та параметри

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

  • Контроль потоку (зберігає контейнери та завдання)
  • Потік даних (джерело, місце призначення, перетворення)
  • Обробник подій (відправлення повідомлень, електронних листів)
  • Оглядач пакетів (пропонує єдиний вигляд для всього в пакеті)
  • Параметри (взаємодія з користувачем)

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

1. Потік керування

Потік керування – це мозок пакета SSIS. Він допомагає вам упорядкувати порядок виконання всіх його компонентів. Компоненти містять контейнери та завдання, якими керують обмеження пріоритету.

2. Обмеження пріоритету

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

3. Завдання

«Завдання» – це окрема одиниця роботи. Це те саме, що метод або функція, що використовуються в мові програмування. Однак у SSIS методи кодування не використовуються. Натомість для їх налаштування використовується техніка перетягування на поверхні конструктора.

4. Контейнери

Контейнер – це одиниця для групиping об'єднувати завдання в одиниці роботи. Окрім забезпечення візуальної узгодженості, це також дозволяє оголошувати змінні та обробники подій, які повинні бути в області дії цього конкретного контейнера.

Три типи контейнерів у SSIS:

  • Контейнер послідовності
  • Для контейнера циклу
  • Контейнер циклу Foreach

Контейнер послідовності: дозволяє організувати допоміжні завдання за групамиping їх, а також дозволяє застосовувати транзакції або призначати ведення журналу контейнеру.

Для контейнера циклу: забезпечує ту саму функціональність, що й Контейнер послідовностей, за винятком того, що він також дозволяє запускати завдання кілька разів. Однак він базується на умові оцінювання, такій як looping від 1 до 100.

Контейнер циклу Foreach: також дозволяє туалетpingРізниця полягає в тому, що замість використання умовного виразу, looping виконується над набором об'єктів, таких як файли в папці.

5. Потік даних

Основне використання інструменту SSIS полягає в тому, щобtracперенести дані в пам'ять сервера, перетворити їх та записати в інше місце призначення. Якщо потік керування — це мозок, то потік даних — це серце SSIS.

6. Пакети SSIS

Ще одним ключовим компонентом SSIS є поняття пакета. Це набір завдань, які виконуються впорядковано. Тут обмеження пріоритету допомагають керувати порядком виконання завдань.

Пакет може зберігати файли на SQL Server, у базі даних msdb або каталогу пакетів. Його можна зберегти як файл .dtsx, який є структурованим файлом, дуже схожим на те, як файли .rdl пов'язані з Послуги звітностіНа ілюстрації нижче показано пакет SSIS, збережений як файл .dtsx:

Пакет SSIS, збережений як файл .dtsx та розміщений на сервері SQL Server або у файловій системі.

7. Параметри

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

Типи завдань SSIS

У засобі SSIS можна додати завдання до потоку керування. Існують різні типи завдань, які виконують різні види роботи. Деякі важливі завдання SSIS перелічені нижче:

Назва завдання Опис
Виконання SQL-завдання Як випливає з назви, він виконує SQL-запит для реляційної бази даних.
Завдання потоку даних Це завдання може зчитувати дані з одного або кількох джерел, перетворювати дані, поки вони знаходяться в пам'яті, та записувати їх для одного або кількох пунктів призначення.
Завдання обробки служб аналізу Використовуйте це завдання для обробки об'єктів табличної моделі або куба SSAS.
Виконати пакетне завдання Ви можете використовувати це завдання SSIS для виконання інших пакетів з того самого проєкту.
Виконати завдання процесу За допомогою цього завдання ви можете вказати параметри командного рядка.
Завдання файлової системи Він виконує маніпуляції у файловій системі, такі як переміщення, перейменування та видалення файлів, а також створення каталогів.
Завдання FTP Це дозволяє виконувати основні функції FTP.
Сценарій завдання Це пусте завдання. Ви можете написати код .NET, який виконуватиме будь-яке завдання, яке ви хочете виконати.
Відправити Mail Завдання Ви можете надіслати електронного листа, щоб повідомити користувачів про завершення обробки вашого пакета або про якусь помилку.
Завдання масової вставки Ви можете завантажити дані в таблицю за допомогою команди масової вставки.
Сценарій завдання Запускає набір VB.NET або код C# всередині Visual Studio середовищі.
Завдання веб-сервісу Він виконує метод у веб-сервісі.
Завдання спостерігача подій WMI Це завдання дозволяє пакету SSIS чекати певних подій WMI і відповідати на них.
Завдання XML Це завдання допоможе вам об'єднати, розділити або переформатувати будь-який XML-файл.

Інші важливі інструменти ETL

SSIS є одним із багатьох колишніхtracплатформи t-transform-load. Інші важливі інструменти ETL включають:

  • SAP Служби даних
  • Управління даними SAS
  • Oracle Будівельник складів (OWB)
  • PowerCenter Informatica
  • IBM Інформаційний сервер InfoSphere
  • Репертуар Elixir для Data ETL
  • Потік даних Sagent

Переваги використання SSIS

Інструмент SSIS пропонує такі переваги:

  • Широка документація та підтримка
  • Легкість і швидкість реалізації
  • Тісна інтеграція з SQL Server та Visual Studio
  • Стандартизована інтеграція даних
  • Пропонує можливості в режимі реального часу на основі повідомлень
  • Підтримка моделі розподілу
  • Допомагає усунути мережу як вузьке місце для вставки даних за допомогою SSIS у SQL Server
  • Дозволяє використовувати місце призначення SQL Server замість OLE DB для швидшого завантаження даних

Недоліки SSIS

Деякі недоліки використання інструменту SSIS полягають у наступному:

  • Іноді це створює проблеми в не-Windows Середовища.
  • Нечітке бачення та стратегія.
  • SSIS не підтримує альтернативні стилі інтеграції даних.
  • Проблемна інтеграція з деякими іншими продуктами.

Приклад найкращих практик SSIS

Застосування кількох найкращих практик забезпечує швидкість та зручність обслуговування пакетів SSIS:

  • SSIS — це конвеєр, що працює в пам'яті, тому важливо переконатися, що всі перетворення відбуваються в пам'яті.
  • Намагайтеся мінімізувати кількість операцій, що записуються в журнал.
  • Плануйте потужності, розуміючи використання ресурсів.
  • Оптимізуйте перетворення SQL-пошуку, джерело даних та місце призначення.
  • Правильно сплануйте та розподіліть його.

Поширені запитання

ETL розшифровується як Extract, Перетворення, Завантаження. SSIS extracдані ts з таких джерел, як SQL Server, Excel або Oracle, перетворює його в пам'яті шляхом очищення та об'єднання, а потім завантажує результат у цільову базу даних або файл.

SSIS — це локальний інструмент ETL, що інсталюється разом із SQL Server і перетворює дані в пам'яті. Azure Фабрика даних — це хмарний сервіс інтеграції даних, який керує конвеєрами та схиляється до ELT. Існуючі пакети SSIS також можуть працювати в Azure через середовище виконання інтеграції SSIS.

Файл .dtsx – це XML-файл, у якому зберігається пакет SSIS. Він зберігає завдання пакета, потік керування, потік даних і підключення, і його можна розгорнути в SQL Server, базі даних msdb або файловій системі.

Пакети SSIS вбудовані в SQL Server Data Tools (SSDT), розширення Visual StudioВін надає конструктор з функцією перетягування для керування потоком даних, тому більшість робіт не потребує написання коду від руки.

Так. SSIS досі постачається з сучасними випусками SQL Server і залишається широко використовуваним локальним інструментом ETL. Команди також запускають існуючі пакети в хмарі через Azure-SSIS Integration Runtime, щоб навичка залишалася актуальною.

Усі три є службами SQL Server. SSIS займається інтеграцією даних та ETL. SSRS створює звіти, а SSAS надає куби OLAP та аналіз. Вони часто використовуються разом у Microsoft стек бізнес-аналітики.

Штучний інтелект та машинне навчання допомагають ETL-конвеєрам автоматично виявляти проблеми з якістю даних та пропонують карту від джерела до місця призначенняpings, нечітке зіставлення потужності та аномалії прапорців. У SSIS команди додають їх через завдання сценаріїв або викликаючи зовнішні служби штучного інтелекту під час потоку даних.

Так. Копілот GitHub може створювати чернетки коду VB.NET або C# всередині завдання сценарію SSIS, а також використовувати SQL для виконання завдань SQL. RevПерегляньте кожну пропозицію, перш ніж запускати її у своєму пакеті.

Підсумуйте цей пост за допомогою: