SSIS урок за начинаещи: Archiтекстура, пакети и компоненти
⚡ Умно обобщение
Услугите за интеграция на SQL Server (SSIS) са компонент на Microsoft SQL Server използва се за изграждане на решения за интеграция на данни и работни процеси, извършвайкиtracция, трансформация и зареждане (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 архитектурата:
- Контрол на потока (съхранява контейнери и задачи)
- Поток от данни (източник, местоназначение, трансформации)
- Обработчик на събития (изпращане на съобщения, имейли)
- 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 файл:
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 търсенето, източника на данни и местоназначението.
- Планирайте и разпределете го правилно.


