SSIS Tutorial for begyndere: Hvad er, Architecture, Pakker
Hvad er SSIS?
SQL Server Integration Service (SSIS) er en del af Microsoft SQL Server databasesoftware, der kan bruges til at udfรธre en bred vifte af datamigreringsopgaver. SSIS er et hurtigt og fleksibelt data warehousing vรฆrktรธj, der bruges til dataudtrรฆk, indlรฆsning og transformation som rengรธring, aggregering, fletning af data osv.
Det gรธr det nemt at flytte data fra en database til en anden. SSIS kan udtrรฆkke data fra en lang rรฆkke kilder som SQL Server-databaser, Excel-filer, Oracle og DB2-databaser osv.
SSIS inkluderer ogsรฅ grafiske vรฆrktรธjer og guider til at udfรธre workflow-funktioner som afsendelse af e-mail-beskeder, FTP-handlinger, datakilder og destinationer.
Hvorfor bruger vi SSIS?
Her er de vigtigste grunde til at bruge SSIS-vรฆrktรธjet:
- SSIS-vรฆrktรธj hjรฆlper dig med at flette data fra forskellige datalagre
- Automatiserer administrative funktioner og dataindlรฆsning
- Befolker Data Marts & Data Warehouses
- Hjรฆlper dig med at rense og standardisere data
- Opbygning af BI til en datatransformationsproces
- Automatisering af administrative funktioner og dataindlรฆsning
- SIS indeholder en GUI, der hjรฆlper brugere med at transformere data nemt i stedet for at skrive store programmer
- Det kan indlรฆse millioner af rรฆkker fra รฉn datakilde til en anden pรฅ meget fรฅ minutter
- Identifikation, indsamling og behandling af dataรฆndringer
- Koordinering af datavedligeholdelse, -behandling eller -analyse
- SSIS eliminerer behovet for hardcore programmรธrer
- SSIS tilbyder robust fejl- og hรฆndelseshรฅndtering
Historien om SSIS
Fรธr SSIS blev der brugt SQL Server, Data Transformation Services (DTS), som var en del af SQL Server 7 og 2000
| Udgave | Detalje |
|---|---|
| SQL Server 2005 | Microsoft team besluttede at forny DTS. Men i stedet for at opdatere DTS besluttede de at navngive produktet Integration Services (SSIS). |
| 2008 SQL server version | Der blev lavet masser af ydeevneforbedringer til SSIS. Nye kilder blev ogsรฅ introduceret. |
| SQL Server 2012 | Det var den stรธrste udgivelse for SSIS. Med denne version blev konceptet med projektimplementeringsmodellen introduceret. Det tillader hele projekter, og deres pakker distribueres til en server i stedet for specifikke pakker. |
| SQL Server 2014 | I denne version er der ikke lavet mange รฆndringer for SSIS. Men nye kilder eller transformationer blev tilfรธjet, hvilket blev udfรธrt ved separate downloads gennem kodePlex eller SQL Server Feature Pack. |
| I SQL Server 2016 | Versionen giver dig mulighed for at implementere hele projekter i stedet for individuelle pakker. Der er yderligere kilder, isรฆr cloud, og store datakilder og fรฅ รฆndringer blev foretaget i kataloget. |
SSIS fremtrรฆdende funktioner
Her er nogle vigtige SSIS grundlรฆggende funktioner:
- Studiemiljรธer
- Relevante dataintegrationsfunktioner
- Effektiv implementeringshastighed
- Tรฆt integration med andre Microsoft SQL familie
- Data Mining Query Transformation
- Fuzzy Lookup og Grouping Transformations
- Term Extraction og Term Lookup Transformationer
- Hรธjere hastighed dataforbindelseskomponenter sรฅsom tilslutning til SAP or Oracle
SSIS Architecture

Fรธlgende er komponenter i SSIS-arkitekturen:
- Kontrolflow (gemmer containere og opgaver)
- Dataflow (kilde, destination, transformationer)
- Event Handler (afsendelse af beskeder, e-mails)
- Pakke Explorer (Tilbyder en enkelt visning for alle i pakken)
- Parametre (brugerinteraktion)
Lad os forstรฅ hver komponent i detaljer:
1. Styr flow
Kontrolflow er hjernen i SSIS-pakken. Det 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
Precedence constrain er pakkekomponent, som dirigerer opgaver til at udfรธre i en foruddefineret rรฆkkefรธlge. Det definerer ogsรฅ arbejdsgangen for hele SSIS-pakken. Den styrer udfรธrelsen af โโde to forbundne opgaver ved at udfรธre destinationsopgaverne baseret pรฅ resultatet af den tidligere opgave - forretningsregler, som er defineret ved hjรฆlp af specielle udtryk.
3. Opgave
En 'opgave' er en individuel arbejdsenhed. Det er det samme som en metode/funktion, der bruges i et programmeringssprog. I SSIS bruger du dog ikke kodningsmetoder. I stedet vil du bruge trรฆk og slip-teknik til at designe overflade og konfigurere dem.
4. beholdere
Containeren er enheder til at gruppere opgaver i arbejdsenheder. Udover at tilbyde visuel konsistens, giver det dig ogsรฅ mulighed for at erklรฆre variabler og hรฆndelseshandlere, som bรธr vรฆre inden for den specifikke containers omfang.
Fire typer containere i SSIS er:
- En sekvensbeholder
- En Til Loop Container
- Foreach Loop Container
Sekvensbeholder: giver dig mulighed for at organisere underordnede opgaver ved at gruppere dem, og giver dig mulighed for at anvende transaktioner eller tildele logning til containeren.
Til slรธjfebeholder:Giver den samme funktionalitet som sekvensbeholderen, bortset fra at den ogsรฅ lader dig kรธre opgaverne flere gange. Det er dog baseret pรฅ en evalueringsbetingelse, som en looping fra 1 til 100.
For hver lรธkkebeholder: Det tillader ogsรฅ looping. Men forskellen pรฅ, at i stedet for at bruge et betingelsesudtryk, udfรธres loop s over et sรฆt objekter, kan lide filer i en mappe.
5. Dataflow
Hovedanvendelsen af โโSSIS-vรฆrktรธjet er at udtrรฆkke data til serverens hukommelse, transformere dem og skrive dem til en anden destination. Hvis Control Flow er hjernen, er Data Flow hjertet af 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 prรฆsidentens begrรฆnsninger med at styre den rรฆkkefรธlge, som opgaven skal udfรธres i.
En pakke kan hjรฆlpe dig med at gemme filer pรฅ en SQL Server, i msdb- eller pakkekatalogdatabasen. Den kan gemme som en .dtsx-fil, som er en struktureret fil, der meget ligner .rdl-filer til Reporting Services.
7. Parametre
Parametre opfรธrer sig meget som en variabel, men med nogle fรฅ hovedundtagelser. Det kan nemt sรฆttes uden for pakken. Det kan udpeges som vรฆrdier, der skal sendes ind, for at pakken kan starte.
SSIS-opgavetyper
I SSIS-vรฆrktรธjet kan du tilfรธje en opgave for at styre flowet. Der er forskellige typer opgaver, som udfรธrer forskellige slags opgaver.
Nogle vigtige SSIS-opgaver er nรฆvnt nedenfor:
| Opgave navn | Descriptioner |
|---|---|
| Udfรธr SQL-opgave | Som navnet antyder, vil den udfรธre en SQL-sรฆtning mod en relationsdatabase. |
| Dataflowopgave | Denne opgave kan lรฆse data fra en eller flere kilder. Transformer dataene, nรฅr de er i hukommelsen, og skriv dem ud mod en eller flere destinationer. |
| Analyse Services Behandlingsopgave | Brug denne opgave til at behandle objekter af en tabelmodel eller som en SSAS-terning. |
| Udfรธr pakkeopgave | Brug 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. Som at flytte, omdรธbe, slette filer og oprette mapper. |
| FTP opgaver | Det giver dig mulighed for at udfรธre grundlรฆggende FTP-funktioner. |
| Script opgave | Dette er en tom opgave. Du kan skrive NET-kode, som udfรธrer enhver opgave; du vil optrรฆde. |
| Send Mail Opgaver | Du kan sende en e-mail til brugere med besked om, at din pakke er fรฆrdig, eller der opstรฅr en fejl. |
| Masseindsรฆttelsesopgave | Brug kan indlรฆse data i en tabel ved at bruge kommandoen bulk insert. |
| Script opgave | Kรธrer et sรฆt af VB.NET eller C#-kodning i et 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
- SAP Datatjenester
- SAS Data Management
- Oracle Lagerbygger (OWB)
- PowerCenter Informatica
- IBM Infosphere informationsserver
- Elixir Repertoire for Data ETL
- Sargent dataflow
Fordele og ulemper 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 visuelt studie
- Standardiseret dataintegration
- Tilbyder beskedbaserede funktioner i realtid
- Support til distributionsmodel
- Hjรฆlper dig med at fjerne netvรฆrk som en flaskehals for indsรฆttelse af data af SSIS i SQL
- SISS giver dig mulighed for at bruge SQL Server-destinationen i stedet for OLE DB til at indlรฆse dataene hurtigere
Ulemper ved SSIS
Nogle fรฅ ulemper ved at bruge SSIS-vรฆrktรธjer er som fรธlger:
- Nogle gange skaber problemer i ikke-Windows-miljรธer
- Uklar vision og strategi
- SSIS mangler understรธttelse af alternative dataintegrationsstile
- Problematisk integration med andre produkter
SSIS Bedste Practices Eksempel
- SSIS er en pipeline i hukommelsen. Derfor er det vigtigt at sikre sig, at alle transformationer sker i hukommelsen
- Prรธv at minimere loggede operationer
- Planlรฆg for kapacitet ved at forstรฅ ressourceudnyttelse
- Optimer SQL-opslagstransformationen, datakilden og destinationen
- Planlรฆg og distribuer det korrekt
Resumรฉ
- Den fulde form for SSIS er SQL Server Integration Services
- SSIS-vรฆrktรธj hjรฆlper dig med at flette data fra forskellige datalagre
- Vigtige versioner af SQL Server Integration Service er 2005, 2008, 2012, 2014 og 216
- Studiemiljรธer, relevante dataintegrationsfunktioner og effektiv implementeringshastighed er nogle vigtige funktioner i SSIS
- Control Flow, Data Flow, Event Handler, Package Explorer og Parametre er vigtige SSIS-arkitekturkomponenter
- Udfรธr SQL-opgave, Dataflow-opgave, Analysis Services-behandlingsopgave, Udfรธr pakkeopgave, Udfรธr procesopgave, filsystemopgave, FTP-opgaver, Send Mail Opgave, Web Service Opgave er nogle vigtige
- Bred dokumentation og support
- Den stรธrste ulempe ved SSIS er, at den mangler understรธttelse af alternative dataintegrationsstile
- SAP Data Services, SAS Data Management, Oracle Lagerbygger (OWB), PowerCenter Informatica, IBM Infosphere informationsserver
- SSIS er en pipeline i hukommelsen. Derfor er det vigtigt at sikre, at alle transformationer sker i hukommelsen

