SSIS-vejledning for begyndere: ArchiTekst, pakker og komponenter

⚡ Smart opsummering

SQL Server Integration Services (SSIS) er en komponent af Microsoft SQL Server bruges til at bygge dataintegrations- og workflowløsninger, udføre f.eks.traction, transformation og indlæsning (ETL) til at flytte og rense data mellem forskellige kilder og destinationer.

  • 🔄 ETL-motor: SSIS tidligeretracts-data fra kilder som SQL Server, Excel, Oracleog DB2, transformerer og indlæser det derefter til en destination.
  • 🧠 Kontrolflow: Control Flow er hjernen i en pakke, der ordner containere og opgaver gennem prioritetsbegrænsninger.
  • ❤️ Dataflow: Data Flow er hjertet i SSIS og flytter rækker gennem kilder, transformationer og destinationer i hukommelsen.
  • 📦 pakker: En pakke grupperer opgaver, der kører i rækkefølge, og gemmer som en .dtsx-fil på SQL Server eller filsystemet.
  • 🧩 Opgaver: Forudbyggede opgaver såsom Udfør SQL, Data Flow, Filsystem, FTP og Send Mail konfigureres ved at trække og slippe.
  • ⚡ Fordele: SSIS automatiserer dataindlæsning, renser og standardiserer data og leverer robust fejl- og hændelseshåndtering.

SQL Server Integration Services (SSIS): arkitektur, pakker, opgaver og ETL-arbejdsgang

Hvad er SSIS?

SQL Server Integration Services (SSIS) er en komponent af Microsoft SQL Server databasesoftware, der kan bruges til at udføre en bred vifte af datamigreringsopgaver. SSIS er en hurtig og fleksibel datalager værktøj brugt til dataeksemplarertraction, indlæsning og transformation som f.eks. rensning, aggregering og fletning af data.

Det gør det nemt at flytte data fra én database til en anden. SSIS kan f.eks.tracdata fra en bred vifte af kilder som SQL Server-databaser, Excel-filer, Oracle og DB2-databaser og mere.

SSIS indeholder også grafiske værktøjer og guider til at udføre arbejdsgangsfunktioner som afsendelse af e-mails, FTP-handlinger og konfiguration af datakilder og -destinationer.

Hvorfor bruger vi SSIS?

Her er de vigtigste grunde til at bruge SSIS-værktøjet:

  • SSIS hjælper dig med at flette data fra forskellige datalagre.
  • Det automatiserer administrative funktioner og dataindlæsning.
  • Det fylder datamarts og datalagre.
  • Det hjælper dig med at oprense og standardisere data.
  • Det indbygger BI i en datatransformationsproces.
  • SSIS indeholder en GUI, der hjælper brugerne med nemt at transformere data i stedet for at skrive store programmer.
  • Den kan indlæse millioner af rækker fra én datakilde til en anden på meget få minutter.
  • Den identificerer, registrerer og behandler dataændringer.
  • Det koordinerer datavedligeholdelse, -behandling og -analyse.
  • SSIS eliminerer behovet for hardcore-programmører.
  • SSIS tilbyder robust fejl- og hændelseshåndtering.

Historien om SSIS

Før SSIS blev SQL Server Data Transformation Services (DTS) brugt, som var en del af SQL Server 7 og 2000. Tabellen nedenfor trachvordan hver SQL Server-udgivelse formede værktøjet:

Version Detalje
SQL Server 2005 Microsoft Teamet besluttede at modernisere DTS. I stedet for at opdatere DTS besluttede de dog at kalde produktet Integration Services (SSIS).
SQL Server 2008 Der blev lavet masser af ydeevneforbedringer til SSIS. Nye kilder blev også introduceret.
SQL Server 2012 Det var den største udgivelse til SSIS. Med denne version blev projektimplementeringsmodellen introduceret. Den gør det muligt at implementere hele projekter og deres pakker på en server i stedet for specifikke pakker.
SQL Server 2014 I denne version blev der ikke foretaget mange ændringer til SSIS. Men nye kildekoder og transformationer blev tilføjet, udført via separate downloads via CodePlex eller SQL Server Feature Pack.
SQL Server 2016 Trinvis pakkeudrulning blev tilføjet, så enkeltpakker kunne sendes til et eksisterende projekt. SSISDB-kataloget fik understøttelse af Always On-tilgængelighedsgrupper, brugerdefinerede logføringsniveauer og navne på fejlkolonner. Yderligere cloud- og big data-kilder blev ankommet via Azure Funktionspakke.
SQL Server 2017 Introducerede Scale Out, som spreder pakkeudførelse på tværs af flere arbejdsmaskiner, der administreres fra en enkelt master. SSIS kunne også køre på Linux for første gang, og pakker kunne implementeres til SSISDB på Azure SQL-database og udført på Azure-SSIS Integration Runtime i Azure Datafabrik.
SQL Server 2019 En stille udgivelse med fokus på håndtering af cloud-filer. Den fleksible filopgave og den fleksible filkilde/destination gjorde det nemmere at arbejde med filer i Azure lagring, inklusive Avro-, ORC- og Parquet-formater (disse kræver en Java kørselstid).
SQL Server 2022 Stort set ingen nye SSIS-funktioner. Motoren blev videreført uændret, mens Microsofts investering i dataintegration flyttede sig mod Azure Data Factory og senere Microsoft Stof.
SQL Server 2025 Udgivet kl. Microsoft Ignite i november 2025. Den primære tilføjelse er en ADO.NET-forbindelsesadministrator bygget på den moderne Microsoft.Data.SqlClient-udbyder, der bringer TLS 1.3 og Microsoft Entra ID-godkendelse. Denne udgivelse fjerner eller udfaser også en masse: Attunity CDC-komponenterne, Hadoop-opgaverne, SSIS Package Store, den ældre Integration Services Service og 32-bit udførelsestilstand.

SSIS fremtrædende funktioner

Her er nogle vigtige SSIS-funktioner:

  • Studiomiljøer
  • Relevante dataintegrationsfunktioner
  • Effektiv implementeringshastighed
  • Tæt integration med de andre Microsoft SQL familie
  • Transformation af data mining-forespørgsler
  • Fuzzy opslag og grupperingping transformationer
  • Term ExtracTransformationer af tion og termopslag
  • Komponenter til dataforbindelse med højere hastighed, såsom forbindelse til SAP or Oracle

SSIS Architecture

Diagrammet nedenfor viser, hvordan de vigtigste SSIS-komponenter passer sammen, fra kontrolflow til parametre:

SSIS-arkitekturdiagram: Kontrolflow, dataflow, hændelseshåndtering, pakkeudforsker og parametre

Følgende er komponenterne i SSIS-arkitekturen:

  • Kontrolflow (lagrer containere og opgaver)
  • Dataflow (kilde, destination, transformationer)
  • Hændelseshåndtering (afsendelse af beskeder, e-mails)
  • Pakkeudforsker (tilbyder en enkelt visning af alt i pakken)
  • Parametre (brugerinteraktion)

Lad os forstå hver komponent i detaljer:

1. Styr flow

Control Flow er hjernen i en SSIS-pakke. Den hjælper dig med at arrangere udførelsesrækkefølgen for alle dens komponenter. Komponenterne indeholder containere og opgaver, som styres af prioritetsbegrænsninger.

2. Forrangsbegrænsninger

Præcedensbegrænsninger er pakkekomponenter, der dirigerer opgaver til at udføres i en foruddefineret rækkefølge. De definerer også arbejdsgangen for hele SSIS-pakken. En præcedensbegrænsning styrer udførelsen af ​​to sammenkædede opgaver ved at udføre destinationsopgaven baseret på resultatet af den tidligere opgave - forretningsregler, der er defineret ved hjælp af særlige udtryk.

3. Opgave

En 'opgave' er en individuel arbejdsenhed. Det er det samme som en metode eller funktion, der bruges i et programmeringssprog. I SSIS bruger man dog ikke kodningsmetoder. I stedet bruger man træk-og-slip-teknikken på designoverfladen til at konfigurere dem.

4. beholdere

En beholder er en enhed for growping opgaver sammen til arbejdsenheder. Udover at tilbyde visuel konsistens, giver det dig også mulighed for at deklarere variabler og hændelseshåndterere, der skal være inden for omfanget af den specifikke container.

De tre typer containere i SSIS er:

  • Sekvensbeholder
  • Til løkkebeholder
  • Foreach Loop Container

Sekvenscontainer: giver dig mulighed for at organisere underopgaver efter gruppeping dem, og lader dig anvende transaktioner eller tildele logføring til containeren.

For Loop Container: tilbyder den samme funktionalitet som sekvenscontaineren, bortset fra at den også lader dig køre opgaverne flere gange. Den er dog baseret på en evalueringsbetingelse, f.eks. looping fra 1 til 100.

Foreach Loop Container: tillader også toiletpingForskellen er, at i stedet for at bruge et betingelsesudtryk, seping udføres over et sæt objekter, f.eks. filer i en mappe.

5. Dataflow

Den primære anvendelse af SSIS-værktøjet er at f.eks.tracoverføre data til serverens hukommelse, transformere dem og skrive dem til en anden destination. Hvis Control Flow er hjernen, er Data Flow hjertet i SSIS.

6. SSIS-pakker

En anden kernekomponent i SSIS er begrebet en pakke. Det er en samling af opgaver, der udføres på en ordnet måde. Her hjælper prioritetsbegrænsninger med at styre den rækkefølge, hvori opgaverne udføres.

En pakke kan gemme filer på en SQL Server, i msdb-databasen eller pakkekatalogdatabasen. Den kan gemmes som en .dtsx-fil, som er en struktureret fil, der minder meget om, hvordan .rdl-filer relaterer sig til RapporteringstjenesterIllustrationen nedenfor viser en SSIS-pakke gemt som en .dtsx-fil:

SSIS-pakke gemt som en .dtsx-fil og lagret på SQL Server eller filsystemet

7. Parametre

Parametre opfører sig stort set som en variabel, men med et par vigtige undtagelser. En parameter kan nemt indstilles uden for pakken. Den kan angives som en værdi, der skal sendes ind, for at pakken kan starte.

SSIS-opgavetyper

I SSIS-værktøjet kan du tilføje en opgave til kontrolflowet. Der findes forskellige typer opgaver, der udfører forskellige former for arbejde. Nogle vigtige SSIS-opgaver er anført nedenfor:

Opgave navn Beskrivelse
Udfør SQL-opgave Som navnet antyder, udfører den en SQL-sætning mod en relationsdatabase.
Dataflowopgave Denne opgave kan læse data fra en eller flere kilder, transformere dataene, mens de er i hukommelsen, og skrive dem ud mod en eller flere destinationer.
Analyse Services Behandlingsopgave Brug denne opgave til at behandle objekter i en tabelmodel eller en SSAS-kube.
Udfør pakkeopgave Du kan bruge denne SSIS-opgave til at udføre andre pakker fra det samme projekt.
Udfør procesopgave Ved hjælp af denne opgave kan du angive kommandolinjeparametre.
Filsystemopgave Den udfører manipulationer i filsystemet, såsom at flytte, omdøbe og slette filer samt oprette mapper.
FTP-opgave Det giver dig mulighed for at udføre grundlæggende FTP-funktioner.
Script opgave Dette er en tom opgave. Du kan skrive .NET-kode, der udfører enhver opgave, du ønsker.
Send Mail Opgaver Du kan sende en e-mail for at underrette brugerne om, at din pakke er færdig, eller at der er opstået en fejl.
Masseindsættelsesopgave Du kan indlæse data i en tabel ved hjælp af kommandoen bulk insert.
Script opgave Kører et sæt af VB.NET eller C#-kode inde i en Visual Studio miljø.
Webserviceopgave Det udfører en metode på en webtjeneste.
WMI Event Watcher opgave Denne opgave gør det muligt for SSIS-pakken at vente på og reagere på visse WMI-hændelser.
XML-opgave Denne opgave hjælper dig med at flette, opdele eller omformatere enhver XML-fil.

Andre vigtige ETL-værktøjer

SSIS er en af ​​mange eks.tract-transform-load platforme. Andre vigtige ETL-værktøjer inkluderer:

  • SAP Datatjenester
  • SAS Data Management
  • Oracle Lagerbygger (OWB)
  • PowerCenter Informatica
  • IBM InfoSphere Informationsserver
  • Elixir Repertoire for Data ETL
  • Sagent-dataflow

Fordele ved at bruge SSIS

SSIS-værktøjet tilbyder følgende fordele:

  • Bred dokumentation og support
  • Nem og hurtig implementering
  • Tæt integration med SQL Server og Visual Studio
  • Standardiseret dataintegration
  • Tilbyder beskedbaserede funktioner i realtid
  • Støtte til en distributionsmodel
  • Hjælper dig med at fjerne netværket som en flaskehals for indsættelse af data fra SSIS i SQL Server
  • Giver dig mulighed for at bruge SQL Server-destinationen i stedet for OLE DB for at indlæse dataene hurtigere.

Ulemper ved SSIS

Et par ulemper ved at bruge SSIS-værktøjet er som følger:

  • Det skaber sommetider problemer i ikke-Windows miljøer.
  • Uklar vision og strategi.
  • SSIS mangler understøttelse af alternative dataintegrationsstile.
  • Problematisk integration med nogle andre produkter.

SSIS Bedste Practices Eksempel

Ved at anvende et par bedste fremgangsmåder holder du SSIS-pakker hurtige og nemme at vedligeholde:

  • SSIS er en in-memory pipeline, så det er vigtigt at sikre, at alle transformationer sker i hukommelsen.
  • Prøv at minimere loggede handlinger.
  • Planlæg kapacitet ved at forstå ressourceudnyttelsen.
  • Optimer SQL-opslagstransformationen, datakilden og destinationen.
  • Planlæg og distribuer det korrekt.

Ofte Stillede Spørgsmål

ETL står for Extract, Transformer, Indlæs. SSIS extracts-data fra kilder som SQL Server, Excel eller Oracle, transformerer den i hukommelsen ved at rense og flette den sammen, og indlæser derefter resultatet i en destinationsdatabase eller -fil.

SSIS er et lokalt ETL-værktøj installeret med SQL Server, der transformerer data i hukommelsen. Azure Data Factory er en cloud-dataintegrationstjeneste, der orkestrerer pipelines og læner sig op ad ELT. Eksisterende SSIS-pakker kan også køre i Azure gennem SSIS Integration Runtime.

En .dtsx-fil er den XML-fil, som en SSIS-pakke gemmes som. Den gemmer pakkeopgaver, kontrolflow, dataflow og forbindelser og kan implementeres på SQL Server, msdb-databasen eller filsystemet.

SSIS-pakker er bygget i SQL Server Data Tools (SSDT), en udvidelse af Visual StudioDen giver en træk-og-slip-designer til kontrol af flow og dataflow, så det meste arbejde kræver ingen håndskrevet kode.

Ja. SSIS leveres stadig med moderne SQL Server-versioner og er fortsat et udbredt on-premises ETL-værktøj. Teams kører også eksisterende pakker i skyen via Azure-SSIS Integration Runtime, så færdigheden forbliver relevant.

Alle tre er SQL Server-tjenester. SSIS håndterer dataintegration og ETL. SSRS producerer rapporter, og SSAS leverer OLAP-kuber og analyser. De bruges ofte sammen i en Microsoft business intelligence-stak.

AI og maskinlæring hjælper ETL-pipelines med automatisk at registrere problemer med datakvalitet og foreslå kilde-til-destination-kortpings, power fuzzy matching og flag anomalier. I SSIS tilføjer teams disse via scriptopgaver eller ved at kalde eksterne AI-tjenester under dataflowet.

Ja. GitHub Copilot kan udarbejde VB.NET- eller C#-koden i en SSIS-scriptopgave, plus SQL til udførelse af SQL-opgaver. RevSe hvert forslag, før du kører det i din pakke.

Opsummer dette indlæg med: