SSIS-handleiding voor beginners: Archistructuur, Pakketten & Componenten
⚡ Slimme samenvatting
SQL Server Integration Services (SSIS) is een onderdeel van Microsoft SQL Server gebruikt voor het bouwen van oplossingen voor data-integratie en workflow, en het uitvoeren van extracETL (Extract, Transformation, and Loading) wordt gebruikt om gegevens tussen verschillende bronnen en bestemmingen te verplaatsen en te zuiveren.
Wat is SSIS?
SQL Server Integration Services (SSIS) is een onderdeel van de Microsoft SQL Server Databasesoftware die gebruikt kan worden om een breed scala aan datamigratietaken uit te voeren. SSIS is snel en flexibel. data opslagplaats hulpmiddel gebruikt voor gegevensextracHet laden, verwerken en transformeren van gegevens, zoals het opschonen, aggregeren en samenvoegen ervan.
Het maakt het gemakkelijk om gegevens van de ene database naar de andere te verplaatsen. SSIS kan dit doen.tracgegevens uit een breed scala aan bronnen, zoals SQL Server-databases en Excel-bestanden, Oracle en DB2-databases, en meer.
SSIS bevat ook grafische tools en wizards voor het uitvoeren van workflowfuncties zoals het verzenden van e-mailberichten, FTP-bewerkingen en het configureren van gegevensbronnen en -bestemmingen.
Waarom gebruiken wij SSIS?
Hieronder volgen de belangrijkste redenen om de SSIS-tool te gebruiken:
- Met SSIS kunt u gegevens uit verschillende gegevensbronnen samenvoegen.
- Het automatiseert administratieve functies en het laden van gegevens.
- Het vult data marts en data warehouses met gegevens.
- Het helpt je bij het opschonen en standaardiseren van gegevens.
- Het integreert business intelligence (BI) in een datatransformatieproces.
- SSIS bevat een grafische gebruikersinterface (GUI) waarmee gebruikers gegevens eenvoudig kunnen transformeren, zonder dat ze grote programma's hoeven te schrijven.
- Het kan miljoenen rijen van de ene gegevensbron naar de andere laden in slechts enkele minuten.
- Het identificeert, registreert en verwerkt datawijzigingen.
- Het coördineert het onderhoud, de verwerking en de analyse van gegevens.
- SSIS maakt de behoefte aan ervaren programmeurs overbodig.
- SSIS biedt robuuste fout- en gebeurtenisafhandeling.
Geschiedenis van SSIS
Vóór SSIS werd SQL Server Data Transformation Services (DTS) gebruikt, dat onderdeel was van SQL Server 7 en 2000. De onderstaande tabel traces hoe elke SQL Server-release de tool heeft beïnvloed:
| Versie | Detail |
| SQL Server 2005 | De Microsoft Het team besloot DTS te vernieuwen. In plaats van DTS te updaten, besloten ze het product echter Integration Services (SSIS) te noemen. |
| SQL Server 2008 | Er zijn veel prestatieverbeteringen aangebracht in SSIS. Er werden ook nieuwe bronnen geïntroduceerd. |
| SQL Server 2012 | Het was de grootste release voor SSIS. Met deze versie werd het projectimplementatiemodel geïntroduceerd. Hiermee kunnen complete projecten, inclusief hun pakketten, in één keer op een server worden geïmplementeerd in plaats van afzonderlijke pakketten. |
| SQL Server 2014 | In deze versie zijn er niet veel wijzigingen aangebracht voor SSIS. Wel zijn er nieuwe bronnen en transformaties toegevoegd, die via aparte downloads worden uitgevoerd. CodePlex of het SQL Server Feature Pack. |
| SQL Server 2016 | De mogelijkheid tot incrementele pakketimplementatie werd toegevoegd, waardoor afzonderlijke pakketten naar een bestaand project konden worden gepusht. De SSISDB-catalogus kreeg ondersteuning voor Always On-beschikbaarheidsgroepen, aangepaste logniveaus en kolomnamen voor fouten. Aanvullende cloud- en big data-bronnen werden toegevoegd via de Azure Functiepakket. |
| SQL Server 2017 | Scale Out werd geïntroduceerd, waarmee de uitvoering van pakketten wordt verdeeld over meerdere werkmachines die worden beheerd vanuit één master. SSIS kon voor het eerst ook op Linux draaien en pakketten konden worden geïmplementeerd op SSISDB. Azure SQL-database en uitgevoerd op de Azure-SSIS Integration Runtime in Azure Datafabriek. |
| SQL Server 2019 | Een stille release gericht op het verwerken van bestanden in de cloud. De functies Flexible File Task en Flexible File Source/Destination maakten het eenvoudiger om met bestanden in de cloud te werken. Azure opslag, inclusief Avro-, ORC- en Parquet-formaten (deze vereisen een Java runtime). |
| SQL Server 2022 | In principe geen nieuwe SSIS-functies. De engine is ongewijzigd overgenomen, terwijl... MicrosoftDe investeringen in data-integratie van zijn bedrijf verschoven naar Azure Data Factory en later, Microsoft Kleding stof. |
| SQL Server 2025 | Uitgebracht op Microsoft Ignite in november 2025. De belangrijkste toevoeging is een ADO.NET-verbindingsbeheerder gebouwd op de moderne technologie. Microsoft.Data.SqlClient-provider, met TLS 1.3 en Microsoft Entra ID-authenticatie. Deze release verwijdert of verklaart ook een groot aantal onderdelen verouderd: de Attunity CDC-componenten, de Hadoop-taken, de SSIS Package Store, de verouderde Integration Services Service en de 32-bits uitvoeringsmodus. |
Opvallende kenmerken van SSIS
Hieronder vindt u enkele belangrijke SSIS-functies:
- Studio-omgevingen
- Relevante data-integratiefuncties
- Effectieve implementatiesnelheid
- Nauwe integratie met de andere Microsoft SQL-familie
- Datamining querytransformatie
- Fuzzy Lookup en Groepping transformaties
- Term Extractransformaties van tion en Term Lookup
- Componenten voor snellere dataverbindingen, zoals verbindingen met SAP or Oracle
SSIS Architectuur
Het onderstaande diagram laat zien hoe de belangrijkste SSIS-componenten in elkaar passen, van Control Flow tot Parameters:
Hieronder volgen de componenten van de SSIS-architectuur:
- Control Flow (slaat containers en taken op)
- Gegevensstroom (bron, bestemming, transformaties)
- Gebeurtenisafhandelaar (verzenden van berichten, e-mails)
- Pakketverkenner (biedt een overzicht van alles in het pakket)
- Parameters (gebruikersinteractie)
Laten we elk onderdeel in detail bekijken:
1. Controlestroom
Control Flow is het brein van een SSIS-pakket. Het helpt je de uitvoeringsvolgorde van alle componenten te bepalen. De componenten bevatten containers en taken, die worden beheerd door prioriteitsbeperkingen.
2. Prioriteitsbeperkingen
Prioriteitsbeperkingen zijn pakketcomponenten die ervoor zorgen dat taken in een vooraf gedefinieerde volgorde worden uitgevoerd. Ze definiëren ook de workflow van het gehele SSIS-pakket. Een prioriteitsbeperking regelt de uitvoering van twee gekoppelde taken door de doeltaak uit te voeren op basis van het resultaat van de eerdere taak: bedrijfsregels die zijn gedefinieerd met behulp van speciale expressies.
3. Taak
Een 'taak' is een individuele werkeenheid. Het is vergelijkbaar met een methode of functie in een programmeertaal. In SSIS gebruik je echter geen code. In plaats daarvan configureer je taken door ze te slepen en neer te zetten op het ontwerpoppervlak.
4. containers
Een container is een eenheid voor groepen.ping Het bundelt taken tot werkeenheden. Naast het bieden van visuele consistentie, stelt het je ook in staat om variabelen en gebeurtenisafhandelaars te declareren die binnen het bereik van die specifieke container moeten vallen.
De drie typen containers in SSIS zijn:
- Sequentiecontainer
- For Loop Container
- Foreach Loop-container
Sequentiecontainer: Hiermee kunt u deeltaken per groep organiseren.ping en stelt je in staat transacties toe te passen of logboekregistratie aan de container toe te wijzen.
Voor luscontainer: Biedt dezelfde functionaliteit als de Sequence Container, met als verschil dat je de taken ook meerdere keren kunt uitvoeren. Dit is echter gebaseerd op een evaluatievoorwaarde, zoals bijvoorbeeld een lege string.ping van 1 naar 100.
Voor elke luscontainer: maakt ook toiletgebruik mogelijkpingHet verschil is dat in plaats van een voorwaardelijke expressie te gebruiken, ...ping Dit wordt gedaan over een verzameling objecten, zoals bestanden in een map.
5. Gegevensstroom
Het belangrijkste gebruik van de SSIS-tool is om te exporterentracDe gegevens worden in het geheugen van de server geladen, getransformeerd en naar een andere bestemming geschreven. Als Control Flow het brein is, dan is Data Flow het hart van SSIS.
6. SSIS-pakketten
Een ander essentieel onderdeel van SSIS is het concept van een pakket. Dit is een verzameling taken die in een bepaalde volgorde worden uitgevoerd. Hierbij helpen prioriteitsbeperkingen bij het bepalen van de volgorde waarin de taken worden uitgevoerd.
Een pakket kan bestanden opslaan op een SQL Server, in de msdb- of pakketcatalogusdatabase. Het kan worden opgeslagen als een .dtsx-bestand, een gestructureerd bestand dat sterk lijkt op de manier waarop .rdl-bestanden zich verhouden tot SQL Server. RapportageservicesDe onderstaande afbeelding toont een SSIS-pakket dat is opgeslagen als een .dtsx-bestand:
7. parameters
Parameters gedragen zich grotendeels hetzelfde als variabelen, met een paar belangrijke uitzonderingen. Een parameter kan eenvoudig buiten het pakket worden ingesteld. Het kan worden aangewezen als een waarde die moet worden doorgegeven om het pakket te starten.
Typen SSIS-taken
In de SSIS-tool kunt u een taak toevoegen aan de besturingsstroom. Er zijn verschillende soorten taken die diverse werkzaamheden uitvoeren. Enkele belangrijke SSIS-taken worden hieronder vermeld:
| Opdrachtnaam | Beschrijving |
| Voer SQL-taak uit | Zoals de naam al doet vermoeden, voert het een SQL-query uit op een relationele database. |
| Gegevensstroomtaak | Deze taak kan gegevens uit een of meer bronnen lezen, de gegevens in het geheugen transformeren en ze naar een of meer bestemmingen schrijven. |
| Analyse Services-verwerkingstaak | Gebruik deze taak om objecten van een tabellair model of een SSAS-kubus te verwerken. |
| Voer de pakkettaak uit | Je kunt deze SSIS-taak gebruiken om andere pakketten vanuit hetzelfde project uit te voeren. |
| Voer procestaak uit | Met behulp van deze taak kunt u opdrachtregelparameters specificeren. |
| Bestandssysteemtaak | Het voert bewerkingen uit in het bestandssysteem, zoals het verplaatsen, hernoemen en verwijderen van bestanden en het aanmaken van mappen. |
| FTP-taak | Hiermee kunt u basis FTP-functionaliteiten uitvoeren. |
| Scripttaak | Dit is een lege taak. Je kunt .NET-code schrijven die elke gewenste taak uitvoert. |
| Verstuur Mail Taak | Je kunt een e-mail sturen om gebruikers te laten weten dat je pakket klaar is of dat er een fout is opgetreden. |
| Bulkinvoegtaak | Je kunt gegevens in een tabel laden met behulp van de bulk-insert-opdracht. |
| Scripttaak | Voert een set uit VB.NET of C#-code binnen een Visual Studio milieu. |
| Webservicetaak | Het voert een methode uit op een webservice. |
| WMI Event Watcher-taak | Met deze taak kan het SSIS-pakket wachten op en reageren op bepaalde WMI-gebeurtenissen. |
| XML-taak | Met deze taak kunt u XML-bestanden samenvoegen, splitsen of opnieuw formatteren. |
Andere belangrijke ETL-tools
SSIS is een van de vele extract-transform-load-platforms. Andere belangrijke ETL-tools zijn onder meer:
- SAP Gegevensdiensten
- SAS-gegevensbeheer
- Oracle Magazijnbouwer (OWB)
- PowerCenter Informatica
- IBM InfoSphere-informatieserver
- Elixir-repertoire voor data-ETL
- Sagent-gegevensstroom
Voordelen van het gebruik van SSIS
De SSIS-tool biedt de volgende voordelen:
- Brede documentatie en ondersteuning
- Gemak en snelheid van implementatie
- Nauwe integratie met SQL Server en Visual Studio.
- Gestandaardiseerde data-integratie
- Biedt realtime, op berichten gebaseerde mogelijkheden
- Ondersteuning voor een distributiemodel
- Hiermee kunt u het netwerk als knelpunt voor het invoegen van gegevens door SSIS in SQL Server verwijderen.
- Hiermee kunt u SQL Server als bestemming gebruiken in plaats van OLE DB om de gegevens sneller te laden.
Nadelen van SSIS
Enkele nadelen van het gebruik van de SSIS-tool zijn als volgt:
- Het leidt soms tot problemen in niet-Windows omgevingen.
- Onduidelijke visie en strategie.
- SSIS biedt geen ondersteuning voor alternatieve methoden voor gegevensintegratie.
- Problematische integratie met sommige andere producten.
Voorbeeld van SSIS-best practices
Door een paar goede praktijken toe te passen, blijven SSIS-pakketten snel en onderhoudbaar:
- SSIS is een in-memory pipeline, dus het is belangrijk ervoor te zorgen dat alle transformaties in het geheugen plaatsvinden.
- Probeer het aantal geregistreerde bewerkingen te minimaliseren.
- Plan voor capaciteit door inzicht te krijgen in het gebruik van resources.
- Optimaliseer de SQL-lookup-transformatie, de gegevensbron en de bestemming.
- Plan het correct in en zorg voor een goede distributie.



