SSIS-opetusohjelma aloittelijoille: Archirakenne, paketit ja komponentit
โก รlykรคs yhteenveto
SQL Server Integration Services (SSIS) on osa Microsoft SQL Server kรคytetรครคn dataintegraatio- ja tyรถnkulkuratkaisujen rakentamiseen, esim.tractiedon siirtรคmiseen ja puhdistamiseen eri lรคhteiden ja kohteiden vรคlillรค, ja se toimii ETL-menetelmรคnรค.

Mikรค on SSIS?
SQL Server Integration Services (SSIS) on osa Microsoft SQL Server tietokantaohjelmisto, jota voidaan kรคyttรครค monenlaisten tiedonsiirtotehtรคvien suorittamiseen. SSIS on nopea ja joustava tietovarastointi tyรถkalu, jota kรคytetรครคn dataesimerkissรคtractiedon kรคsittely, lataus ja muuntaminen, kuten tiedon puhdistaminen, kokoaminen ja yhdistรคminen.
Se helpottaa tietojen siirtรคmistรค tietokannasta toiseen. SSIS voi esim.tractietoja monista eri lรคhteistรค, kuten SQL Server -tietokannoista, Excel-tiedostoista, Oracle ja DB2-tietokantoja ja paljon muuta.
SSIS sisรคltรครค myรถs graafisia tyรถkaluja ja ohjattuja toimintoja tyรถnkulkutoimintojen, kuten sรคhkรถpostiviestien lรคhettรคmisen, FTP-toimintojen sekรค tietolรคhteiden ja -kohteiden mรครคrittรคmisen, suorittamiseen.
Miksi kรคytรคmme SSIS:รครค?
Tรคssรค ovat tรคrkeimmรคt syyt SSIS-tyรถkalun kรคyttรถรถn:
- SSIS auttaa yhdistรคmรครคn tietoja eri tietovarastoista.
- Se automatisoi hallinnolliset toiminnot ja tietojen latauksen.
- Se tรคyttรครค tietomartteja ja tietovarastoja.
- Se auttaa sinua puhdistamaan ja standardoimaan dataa.
- Se rakentaa liiketoimintatiedon osaksi datan muuntamisprosessia.
- SSIS sisรคltรครค graafisen kรคyttรถliittymรคn, joka auttaa kรคyttรคjiรค muuntamaan tietoja helposti sen sijaan, ettรค he kirjoittaisivat suuria ohjelmia.
- Se voi ladata miljoonia rivejรค yhdestรค tietolรคhteestรค toiseen hyvin muutamassa minuutissa.
- Se tunnistaa, tallentaa ja kรคsittelee datan muutoksia.
- Se koordinoi tietojen yllรคpitoa, kรคsittelyรค ja analysointia.
- SSIS poistaa kokeneiden ohjelmoijien tarpeen.
- SSIS tarjoaa vankan virheiden ja tapahtumien kรคsittelyn.
SSIS:n historia
Ennen SSIS:iรค kรคytettiin SQL Server Data Transformation Servicesiรค (DTS), joka oli osa SQL Server 7:รครค ja 2000:ta. Alla oleva taulukko tracmiten kukin SQL Server -julkaisu muokkasi tyรถkalua:
| Versio | Yksityiskohta |
| SQL Server 2005 | Microsoft tiimi pรครคtti uudistaa DTS:n. DTS:n pรคivittรคmisen sijaan he kuitenkin pรครคttivรคt nimetรค tuotteen Integration Servicesiksi (SSIS). |
| SQL Server 2008 | SSIS:รครคn tehtiin paljon suorituskykyparannuksia. Myรถs uusia lรคhteitรค esiteltiin. |
| SQL Server 2012 | Se oli SSIS:n suurin julkaisu. Tรคssรค versiossa esiteltiin projektien kรคyttรถรถnottomalli. Sen avulla kokonaisia โโprojekteja ja niiden paketteja voidaan ottaa kรคyttรถรถn palvelimella tiettyjen pakettien sijaan. |
| SQL Server 2014 | Tรคssรค versiossa SSIS:รครคn ei tehty paljon muutoksia. Mutta uusia lรคhteitรค ja muunnoksia lisรคttiin, ja ne tehtiin erillisillรค latauksilla sivuston kautta. CodePlex tai SQL Server Feature Pack. |
| SQL Server 2016 | Lisรคttiin inkrementaalinen pakettien kรคyttรถรถnotto, jotta yksittรคisiรค paketteja voitiin siirtรครค olemassa olevaan projektiin. SSISDB-luettelo sai Always On -saatavuusryhmien tuen, mukautetut lokikirjaustasot ja virhesarakkeiden nimet. Lisรครค pilvi- ja big data -lรคhteitรค saapui... Azure Ominaisuuspaketti. |
| SQL Server 2017 | Esiteltiin skaalaus, joka hajauttaa pakettien suorituksen useille tyรถkoneille, joita hallitaan yhdestรค pรครคkoneesta. SSIS voitiin myรถs ensimmรคistรค kertaa toimia Linuxissa, ja paketit voitiin ottaa kรคyttรถรถn SSISDB:ssรค. Azure SQL-tietokanta ja suoritettu Azure-SSIS-integraation suoritusympรคristรถ Azure Tietotehdas. |
| SQL Server 2019 | Hiljainen julkaisu, joka keskittyi pilvitiedostojen kรคsittelyyn. Joustavat tiedostotehtรคvรคt ja joustava tiedostolรคhde/kohde helpottivat tiedostojen kรคsittelyรค pilvipalvelussa. Azure tallennustilaa, mukaan lukien Avro-, ORC- ja Parquet-muodot (nรคmรค vaativat Java ajonaikainen). |
| SQL Server 2022 | Ei kรคytรคnnรถssรค uusia SSIS-ominaisuuksia. Moottoria ei muutettu, mutta Microsoftdataintegraatioinvestoinnit siirtyivรคt kohti Azure Data Factory ja myรถhemmin Microsoft Kangas. |
| SQL Server 2025 | Julkaistu klo Microsoft Ignite marraskuussa 2025. Tรคrkein lisรคys on modernin pohjalta rakennettu ADO.NET-yhteydenhallintaohjelma. Microsoft.Data.SqlClient-palveluntarjoaja, joka tuo mukanaan TLS 1.3:n ja Microsoft Entra ID -todennus. Tรคmรค julkaisu poistaa tai vanhentaa myรถs monia ominaisuuksia: Attunity CDC -komponentit, Hadoop-tehtรคvรคt, SSIS-pakettisรคilรถn, vanhan Integration Services -palvelun ja 32-bittisen suoritustilan. |
SSIS:n tรคrkeimmรคt ominaisuudet
Tรคssรค on joitakin tรคrkeitรค SSIS-ominaisuuksia:
- Studioympรคristรถt
- Asiaankuuluvat tiedon integrointitoiminnot
- Tehokas toteutusnopeus
- Tiivis integraatio muiden kanssa Microsoft SQL-perhe
- Tiedonlouhintakyselyn muunnos
- Sumea haku ja ryhmรคping muunnokset
- Term Extraction ja Term Lookup -muunnokset
- Nopeammat datayhteydet, kuten yhteys SAP or Oracle
SSIS Archirakenne
Alla oleva kaavio nรคyttรครค, miten SSIS:n tรคrkeimmรคt komponentit sopivat yhteen ohjausvirrasta parametreihin asti:
Seuraavat ovat SSIS-arkkitehtuurin komponentit:
- Control Flow (tallentaa sรคilรถt ja tehtรคvรคt)
- Tietovirta (lรคhde, kohde, muunnokset)
- Tapahtumankรคsittelijรค (viestien, sรคhkรถpostien lรคhettรคminen)
- Pakettiselaimessa (tarjoaa yhden nรคkymรคn paketin kaikelle sisรคllรถlle)
- Parametrit (kรคyttรคjรคn vuorovaikutus)
Ymmรคrrรคmme jokaisen komponentin yksityiskohtaisesti:
1. Ohjausvirtaus
Control Flow on SSIS-paketin aivot. Se auttaa sinua jรคrjestรคmรครคn kaikkien sen komponenttien suoritusjรคrjestyksen. Komponentit sisรคltรคvรคt sรคilรถjรค ja tehtรคviรค, joita hallitaan prioriteettirajoituksilla.
2. Ensisijaisuusrajoitukset
Precedenssirajoitteet ovat paketin komponentteja, jotka ohjaavat tehtรคviรค suoritettavaksi ennalta mรครคritetyssรค jรคrjestyksessรค. Ne mรครคrittelevรคt myรถs koko SSIS-paketin tyรถnkulun. Precedenssirajoite ohjaa kahden linkitetyn tehtรคvรคn suorittamista suorittamalla kohdetehtรคvรคn aiemman tehtรคvรคn tuloksen perusteella โ liiketoimintasรครคnnรถt, jotka mรครคritellรครคn erityislausekkeilla.
3. Tehtรคvรค
'Tehtรคvรค' on yksittรคinen tyรถyksikkรถ. Se on sama kuin ohjelmointikielessรค kรคytetty metodi tai funktio. SSIS:ssรค ei kuitenkaan kรคytetรค koodausmetodeja. Sen sijaan ne konfiguroidaan vetรคmรคllรค ja pudottamalla suunnittelualustalla.
4. kontit
Sรคiliรถ on maanpinnan yksikkรถping tehtรคvรคt yhteen tyรถyksikรถiksi. Visuaalisen yhtenรคisyyden lisรคksi se mahdollistaa myรถs muuttujien ja tapahtumankรคsittelijรถiden mรครคrittรคmisen, joiden tulisi olla kyseisen sรคilรถn laajuudessa.
SSIS:ssรค on kolme sรคilรถtyyppiรค:
- Sekvenssisรคiliรถ
- Silmukkasรคiliรถlle
- Foreach Loop Container
Sekvenssisรคiliรถ: voit jรคrjestรครค aputehtรคvรคt ryhmittรคinping niitรค, ja voit kohdistaa tapahtumia tai mรครคrittรครค lokikirjauksen sรคilรถlle.
Silmukkasรคiliรถlle: tarjoaa saman toiminnallisuuden kuin Sequence Container, paitsi ettรค se antaa sinun suorittaa tehtรคviรค useita kertoja. Se perustuu kuitenkin arviointiehtoon, kuten looping alkaen 1 ja 100.
Foreach-silmukan sรคilรถ: sallii myรถs vessanpingEro on siinรค, ettรค ehtolausekkeen sijaan looping tehdรครคn joukolle objekteja, kuten kansiossa olevia tiedostoja.
5. Tietovirta
SSIS-tyรถkalun pรครคasiallinen kรคyttรถtarkoitus on extractallentaa tiedot palvelimen muistiin, muuntaa ne ja kirjoittaa ne toiseen kohteeseen. Jos Control Flow on SSIS:n aivot, Data Flow on sen sydรคn.
6. SSIS-paketit
Toinen SSIS:n ydinosa on paketin kรคsite. Se on kokoelma tehtรคviรค, jotka suoritetaan jรคrjestelmรคllisesti. Tรคssรค prioriteettirajoitukset auttavat hallitsemaan tehtรคvien suoritusjรคrjestystรค.
Paketti voi tallentaa tiedostoja SQL Serverille msdb- tai pakettiluettelotietokantaan. Se voidaan tallentaa .dtsx-tiedostona, joka on jรคsennelty tiedosto, joka on hyvin samankaltainen kuin .rdl-tiedostot liittyvรคt... RaportointipalvelutAlla olevassa kuvassa nรคkyy SSIS-paketti, joka on tallennettu .dtsx-tiedostona:
7. parametrit
Parametrit toimivat paljolti samalla tavalla kuin muuttujat, mutta muutamalla tรคrkeรคllรค poikkeuksella. Parametri voidaan asettaa helposti paketin ulkopuolella. Se voidaan mรครคrittรครค arvoksi, joka on annettava, jotta paketti kรคynnistyy.
SSIS-tehtรคvรคtyypit
SSIS-tyรถkalussa voit lisรคtรค tehtรคvรคn ohjaustyรถnkulkuun. Tehtรคviรค on erityyppisiรค, jotka suorittavat erilaisia โโtรถitรค. Joitakin tรคrkeitรค SSIS-tehtรคviรค on lueteltu alla:
| Tehtรคvรคn nimi | Tuotetiedot |
| Suorita SQL-tehtรคvรค | Kuten nimestรค voi pรครคtellรค, se suorittaa SQL-lausekkeen relaatiotietokantaa vastaan. |
| Tiedonkulkutehtรคvรค | Tรคmรค tehtรคvรค voi lukea tietoja yhdestรค tai useammasta lรคhteestรค, muuntaa tietoja niiden ollessa muistissa ja kirjoittaa ne yhteen tai useampaan kohteeseen. |
| Analyysipalvelujen kรคsittelytehtรคvรค | Kรคytรค tรคtรค tehtรคvรครค taulukkomallin tai SSAS-kuution objektien kรคsittelyyn. |
| Suorita pakettitehtรคvรค | Voit kรคyttรครค tรคtรค SSIS-tehtรคvรครค muiden saman projektin pakettien suorittamiseen. |
| Suorita prosessitehtรคvรค | Tรคmรคn tehtรคvรคn avulla voit mรครคrittรครค komentoriviparametreja. |
| Tiedostojรคrjestelmรคn tehtรคvรค | Se suorittaa tiedostojรคrjestelmรคn manipulointeja, kuten tiedostojen siirtรคmistรค, uudelleennimeรคmistรค ja poistamista sekรค hakemistojen luomista. |
| FTP-tehtรคvรค | Sen avulla voit suorittaa FTP:n perustoimintoja. |
| Kรคsikirjoitustehtรคvรค | Tรคmรค on tyhjรค tehtรคvรค. Voit kirjoittaa .NET-koodia, joka suorittaa minkรค tahansa haluamasi tehtรคvรคn. |
| Lรคhetรค Mail Tehtรคvรค | Voit lรคhettรครค sรคhkรถpostia ilmoittaaksesi kรคyttรคjille, ettรค pakettisi on valmis tai ettรค on tapahtunut virhe. |
| Joukkolisรคystehtรคvรค | Voit ladata tietoja taulukkoon kรคyttรคmรคllรค bulk insert -komentoa. |
| Kรคsikirjoitustehtรคvรค | Suorittaa sarjan VB.NET tai C#-koodia Visual Studio ympรคristรถรถn. |
| Verkkopalvelutehtรคvรค | Se suorittaa menetelmรคn verkkopalvelussa. |
| WMI Event Watcher -tehtรคvรค | Tรคmรคn tehtรคvรคn avulla SSIS-paketti voi odottaa tiettyjรค WMI-tapahtumia ja vastata niihin. |
| XML-tehtรคvรค | Tรคmรค tehtรคvรค auttaa sinua yhdistรคmรครคn, jakamaan tai muotoilemaan uudelleen minkรค tahansa XML-tiedoston. |
Muita tรคrkeitรค ETL-tyรถkaluja
SSIS on yksi monista entisistรคtract-muunnos-latausalustat. Muita tรคrkeitรค ETL-tyรถkaluja ovat:
- SAP Tietopalvelut
- SAS-tiedonhallinta
- Oracle Varaston rakentaja (OWB)
- PowerCenter Informatica
- IBM InfoSphere-tietopalvelin
- Elixir Repertuaari Data ETL:lle
- Sagent-tietovirta
SSIS:n kรคytรถn edut
SSIS-tyรถkalu tarjoaa seuraavat edut:
- Laaja dokumentaatio ja tuki
- Toteutuksen helppous ja nopeus
- Tiivis integrointi SQL Serverin ja Visual Studion kanssa
- Standardoitu tietojen integrointi
- Tarjoaa reaaliaikaisia, viestipohjaisia โโominaisuuksia
- Tuki jakelumallille
- Auttaa poistamaan verkon pullonkaulana SSIS:n tietojen syรถttรคmiselle SQL Serveriin
- Mahdollistaa SQL Server -kohteen kรคytรถn OLE DB:n sijaan, mikรค nopeuttaa tietojen lataamista.
SSIS:n haitat
SSIS-tyรถkalun kรคytรถssรค on muutamia haittoja:
- Se aiheuttaa joskus ongelmia muissa kuinWindows ympรคristรถissรค.
- Epรคselvรค visio ja strategia.
- SSIS:stรค puuttuu tuki vaihtoehtoisille dataintegraatiotyyleille.
- Ongelmallinen integrointi joidenkin muiden tuotteiden kanssa.
Esimerkki SSIS:n parhaista kรคytรคnnรถistรค
Muutaman parhaiden kรคytรคntรถjen soveltaminen pitรครค SSIS-paketit nopeina ja yllรคpidettรคvinรค:
- SSIS on muistissa tapahtuva prosessi, joten on tรคrkeรครค varmistaa, ettรค kaikki muunnokset tapahtuvat muistissa.
- Pyri minimoimaan lokikirjatut toiminnot.
- Suunnittele kapasiteettia ymmรคrtรคmรคllรค resurssien kรคyttรถastetta.
- Optimoi SQL-hakumuunnos, tietolรคhde ja kohde.
- Aikatauluta ja jaa se oikein.


