Dit artikel beschrijft een aantal mogelijkheden die zijn geïntroduceerd in SQL Server 2012 die betrekking hebben op deployment en executie van Integration services packages.
2. BI-Tooltip: Verbeterde SSIS deployment in SQL Server 2012
Pg, 2
Dit artikel is onderdeel van de themareeks BI-Tooltips, bedoeld om interessante nieuwsfeiten en
gebruikstips voor specifieke BI-Tools te publiceren. Deze tooltip gaat over een aantal nieuwe
mogelijkheden voor de deployment en executie van Integration Services Packages binnen de
2012 versie van SSIS.
Een nieuwe vorm van deployment
Met de komst van SQL Server 2012 heeft Microsoft een flinke stap gemaakt om het leven van
een SSIS (SQL Server Integration Services) ontwikkelaar te veraangenamen. Het oude ‘Package
Deployment Model’ is flink op de schop genomen en dit heeft geleid tot het nieuwe ‘Project
Deployment Model’. De naamgeving verraadt gelijk een belangrijk principe; voorheen was een
SSIS-package de deployment-eenheid, nu kunnen we ook een SSIS-project (bestaande uit één
of meerdere SSIS-packages) als geheel deployen. Dat lijkt op zich nog niet zo spannend, maar
in combinatie met enkele andere aanpassingen is het een zeer welkome wijziging.
3. BI-Tooltip: Verbeterde SSIS deployment in SQL Server 2012
Pg, 3
Parameter-gestuurd
Eén van die aanpassingen is dat we nu kunnen beschikken over projectparameters. Dit zijn
read-only parameters die in run-time binnen een SSIS-project kunnen worden gebruikt in SSIS-
packages. Zodoende kun je voor het gehele SSIS-project op één plek een waarde aan een
variabele (parameter) geven die dan binnen alle SSIS-packages in het SSIS-project gebruikt kan
worden. Denk bijvoorbeeld aan een situatie waarin meerdere SSIS-packages in een project
diverse bestanden inlezen vanuit één specifieke folder. De naam van die folder kan als
projectparameter worden vastgelegd en dan door alle packages consistent worden gebruikt.
Hetzelfde principe kan gebruikt worden voor bijvoorbeeld connection strings naar servers of
databases. Waar we dit voorheen vaak oplosten door gebruik te maken van package
configurations in de SSIS-packages, kunnen we dit nu centraal op projectniveau regelen.
Configuratie-specifieke parameters
Een andere welkome aanpassing is de mogelijkheid om waarden toe te kennen aan de
projectparameters door middel van de Configuration Manager van een SSIS-project. Binnen
4. BI-Tooltip: Verbeterde SSIS deployment in SQL Server 2012
Pg, 4
'Datatools' (voormalig BIDS) kunnen we nu één of meerdere configuraties aanmaken, waarbij
we per configuratie een andere waarde kunnen toekennen aan een projectparameter.
Terugdenkend aan de connection string, kunnen we nu dus een ontwikkelconfiguratie hebben die
verwijst naar servers en databases in de ontwikkelomgeving en een productieconfiguratie die
verwijst naar componenten in de productieomgeving.
De Integration Services Catalog
Vanuit Datatools kunnen we een project direct deployen naar een folder op de databaseserver.
Voorheen was dit de welbekende MSDB database, maar met SSIS binnen SQL-Server 2012
deployen we naar een nieuw geïntroduceerde locatie: de 'Integration Services Catalog'.
De Integration Services Catalog is een service in de database-engine die bij installatie niet alleen
een database SSISDB aanmaakt, maar ook een extra node toevoegt in de object explorer. In de
Integration Services Catalog kun je een folder-structuur maken waarbinnen een SSIS-project in
zijn geheel wordt gedeployed. Naast alle in het project aanwezige SSIS-packages worden in
deze folder-structuur ook de projectparameters op de server geplaatst. De SSISDB bevat alle
5. BI-Tooltip: Verbeterde SSIS deployment in SQL Server 2012
Pg, 5
informatie van de Catalog en biedt tevens een aantal stored procedures en views om deze
informatie toegankelijk te maken. Zoals we van SQL-Server gewend zijn, beschikken we hiermee
over de mogelijkheid middels T-SQL scripts het een en ander te automatiseren.
Environments
De nieuwe SSIS 2012 biedt nu ook binnen de Integration Services Catalog, de mogelijkheid om
zogeheten 'environments' aan te maken. Een environment kan gezien worden als een context
waarbinnen een SSIS-project kan worden uitgevoerd. Binnen een environment is het mogelijk
om 'environment-variables' aan te maken. Dit zijn variabelen die we een bepaalde waarde
kunnen geven en die gekoppeld kunnen worden aan de eerder genoemde projectparameters. Op
die manier kunnen we één en hetzelfde SSIS-project uitvoeren in verschillende contexten. Zo
kunnen we hetzelfde project de ene keer naar een ontwikkelomgeving wegschrijven en bij een
volgende keer de productieomgeving aanspreken. Het is zelfs mogelijk om vanuit een SQL
Server Agent Job in een SSIS-package step een environment te kiezen, waardoor het uitvoeren
van een SSIS-project in verschillende contexten te automatiseren en te schedulen is.
6. BI-Tooltip: Verbeterde SSIS deployment in SQL Server 2012
Pg, 6
De toepassing van environments is vergelijkbaar met de eerder genoemde toepassing van de
Configuration Manager met het verschil dat environments gebruikt worden ná deployment en
uitsluitend in de Integration Services Catalog. De Configuration Manager is enkel voor
ontwikkeling binnen Datatools te gebruiken.
Versiebeheer, at last?
Een laatste nieuwe feature die ik in het kader van deployment nog even wil noemen, is de
mogelijkheid om gebruik te maken van de 'versiebeheer'-optie. Vooralsnog houdt deze optie niet
veel meer in dan het opgeven van het aantal gedeployde versies van projecten, waarna SSIS
deze versies vasthoudt zodat men er desgewenst later nog naar kan terugkeren.
7. BI-Tooltip: Verbeterde SSIS deployment in SQL Server 2012
Pg, 7
Je kunt je hieronder abonneren op ons Thema BI-Tooltips:
Dit blogartikel is geschreven door Robert von Piekartz.
Wil je meer informatie? Neem dan een kijkje op ons blog.