SSIS урок за начинаещи: Archiтекстура, пакети и компоненти

⚡ Умно обобщение

Услугите за интеграция на SQL Server (SSIS) са компонент на Microsoft SQL Server използва се за изграждане на решения за интеграция на данни и работни процеси, извършвайкиtracция, трансформация и зареждане (ETL) за преместване и почистване на данни между различни източници и дестинации.

  • 🔄 ETL двигател: SSIS extracts данни от източници като 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 е бърз и гъвкав съхранение на данни инструмент, използван за данни extracобработка, зареждане и трансформация, като почистване, агрегиране и сливане на данни.

Това улеснява преместването на данни от една база данни в друга. SSIS може да...tracданни от голямо разнообразие от източници, като бази данни на SQL Server, Excel файлове, Oracle и DB2 бази данни и други.

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

Защо използваме SSIS?

Ето основните причини за използването на инструмента SSIS:

  • SSIS ви помага да обединявате данни от различни хранилища за данни.
  • Автоматизира административните функции и зареждането на данни.
  • Той запълва хранилища за данни и информационни складове.
  • Това ви помага да почистите и стандартизирате данните.
  • Това вгражда бизнес разузнаването (BI) в процес на трансформация на данни.
  • 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 Въведена е Scale Out, която разпределя изпълнението на пакети между множество работни машини, управлявани от една главна машина. SSIS може да работи и на Linux за първи път, а пакетите могат да бъдат разположени в SSISDB на... Azure SQL база данни и изпълнена на Azure-SSIS интеграция в средата за изпълнение Azure Фабрика за данни.
SQL Server 2019 Тиха версия, фокусирана върху обработката на файлове в облака. Гъвкавата файлова задача и Гъвкавият източник/дестинация на файлове улесниха работата с файлове в Azure съхранение, включително формати Avro, ORC и Parquet (те изискват Java по време на изпълнение).
SQL Server 2022 По същество няма нови функции на SSIS. Двигателят е пренесен непроменен, докато Microsoftинвестициите в интеграция на данни се насочиха към Azure Фабрика за данни и по-късно, Microsoft Fabric.
SQL Server 2025 Издадено в Microsoft Ignite през ноември 2025 г. Основното допълнение е мениджър на връзки ADO.NET, изграден върху модерната MicrosoftДоставчикът на .Data.SqlClient, който предлага TLS 1.3 и Microsoft Удостоверяване с Entra ID. Тази версия също така премахва или отхвърля много: компонентите на Attunity CDC, задачите на Hadoop, хранилището на пакети SSIS, остарялата услуга Integration Services и 32-битовия режим на изпълнение.

Характеристики на SSIS

Ето някои важни функции на SSIS:

  • Студийни среди
  • Съответни функции за интегриране на данни
  • Ефективна скорост на внедряване
  • Тясна интеграция с другия Microsoft Семейство SQL
  • Трансформация на заявки за извличане на данни
  • Размито търсене и групаping трансформации
  • Срок Extracтрансформации за търсене на термини и търсене на термини
  • Компоненти за по-висока скорост на свързване на данни, като например свързаност към SAP or Oracle

SSIS Archiтекстура

Диаграмата по-долу показва как основните компоненти на SSIS се съчетават, от потока на управление до параметрите:

Диаграма на архитектурата на SSIS: Поток на управление, Поток от данни, Обработчик на събития, Преглед на пакети и Параметри

Следните компоненти са на SSIS архитектурата:

  • Контрол на потока (съхранява контейнери и задачи)
  • Поток от данни (източник, местоназначение, трансформации)
  • Обработчик на събития (изпращане на съобщения, имейли)
  • Package Explorer (предлага единен изглед за всичко в пакета)
  • Параметри (взаимодействие с потребителя)

Нека разберем подробно всеки компонент:

1. Контролен поток

Control Flow е мозъкът на SSIS пакета. Той ви помага да подредите реда на изпълнение на всички негови компоненти. Компонентите съдържат контейнери и задачи, които се управляват от ограничения за приоритет.

2. Ограничения на приоритета

Ограниченията за приоритет са компоненти на пакета, които насочват задачите да се изпълняват в предварително определен ред. Те също така определят работния процес на целия SSIS пакет. Ограничението за приоритет контролира изпълнението на две свързани задачи, като изпълнява целевата задача въз основа на резултата от по-ранната задача – бизнес правила, които са дефинирани с помощта на специални изрази.

3. Задача

„Задача“ е отделна единица работа. Тя е същата като метод или функция, използвани в език за програмиране. В SSIS обаче не се използват методи за кодиране. Вместо това се използва техниката „плъзгане и пускане“ в повърхността за проектиране, за да се конфигурират.

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

Контейнерът е единица за масаping обединяват задачите в работни единици. Освен че предлага визуална съгласуваност, това ви позволява да декларирате променливи и обработчици на събития, които трябва да бъдат в обхвата на този конкретен контейнер.

Трите вида контейнери в SSIS са:

  • Контейнер за последователност
  • За контейнер за цикъл
  • Foreach Loop Container

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

За контейнер за цикъл: предоставя същата функционалност като Sequence Container, с изключение на това, че ви позволява да изпълнявате задачите многократно. Въпреки това, той се основава на условие за оценка, като например 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 задачи са изброени по-долу:

Име на задачата Descriptйон
Изпълнете SQL задача Както подсказва името му, той изпълнява SQL оператор спрямо релационна база данни.
Задача за поток от данни Тази задача може да чете данни от един или повече източника, да трансформира данните, докато са в паметта, и да ги записва спрямо една или повече дестинации.
Задача за обработка на услуги за анализ Използвайте тази задача за обработка на обекти от табличен модел или SSAS куб.
Изпълнение на пакетна задача Можете да използвате тази SSIS задача, за да изпълнявате други пакети от същия проект.
Изпълнение на процесната задача С помощта на тази задача можете да зададете параметри на командния ред.
Задача на файловата система Той извършва манипулации във файловата система, като преместване, преименуване и изтриване на файлове, както и създаване на директории.
FTP задача Позволява ви да изпълнявате основни FTP функции.
Скрипт Задача Това е празна задача. Можете да напишете .NET код, който изпълнява всяка задача, която искате.
Изпрати Mail Task Можете да изпратите имейл, за да уведомите потребителите, че вашият пакет е завършен или че е възникнала някаква грешка.
Задача за групово вмъкване Можете да заредите данни в таблица, като използвате командата за групово вмъкване.
Скрипт Задача Изпълнява набор от VB.NET или C# код вътре в Visual Studio среда.
Задача за уеб услуга Той изпълнява метод на уеб услуга.
Задача за наблюдение на събития на WMI Тази задача позволява на SSIS пакета да чака и да отговаря на определени WMI събития.
XML задача Тази задача ви помага да обедините, разделите или преформатирате всеки XML файл.

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

SSIS е един от многото бившиtract-transform-load платформи. Други важни ETL инструменти включват:

  • SAP Услуги за данни
  • SAS Управление на данни
  • Oracle Warehouse Builder (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 extracts данни от източници като SQL Server, Excel или Oracle, трансформира го в паметта чрез почистване и сливане, след което зарежда резултата в целева база данни или файл.

SSIS е локален ETL инструмент, инсталиран със SQL Server, който трансформира данни в паметта. Azure Data Factory е услуга за интеграция на данни в облака, която оркестрира канали и е насочена към 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 Script Task, плюс SQL за изпълнение на SQL задачи. Revпрегледайте всяко предложение, преди да го изпълните във вашия пакет.

Обобщете тази публикация с: