Elkészült
SSIS csomagjainkat eddig kissé nehézkesen juttathattuk rendeltetési helyükre –
az Analysis Services-hez vagy a Reporting Services-hez hasonlítva mindenképpen.
Születtek izgalmas handmade megoldások (pl. kötegelt package export SSIS-szel vagy
akár PowerShell-el), de
azért hiányzott egy igazán korrekt megoldás. Szerencsére ezt a Microsoftnál is
érzékelték, ezért a 2012-es Integration Services-ben megjelent a Project Deployment Model.
Koen Verbeeck
szerint, amikor az SSAS-csapat előállt a Tabular Model-lel, az SSIS
fejlesztőknél betelt a pohár: ”Mindenki az SSAS-re figyel majd! Hát egy frászt!
Mostantól az SSIS-ben is lesz egy extra fejlesztési modell!” És lőn. J
A legfontosabb újdonságok:
- Alapvető változás, hogy nem egy package-et, hanem egy egész project-et kezel egy egységként.
- Az elkülönülő konfigurációk helyett paramétereket használhatunk, ezek a project részeként kerülnek telepítésre.
- Közvetlenül egy SQL Server instance-ra kerül a project, az Integration Services Catalogs alá.
- A végrehajtás közvetlenül az SQL Serveren történik, nincs szükség a DTExec utilra.
- A végrehajtás során az eseményeket automatikusan kezeli és tárolja, ezek később T-SQL-el lekérdezhetők.
- Verziókövetés az SQL Serveren. Minden project-telepítés során automatikusan létrejön egy új verzió, és pár kattintással vissza lehet állni egy előző verzióra. Ez jól hangzik, ugye?
- Microsoft.SqlServer.Management.IntegrationServices. Egy teljesen új assembly az új struktúrához.
A Project Deployment
Model-ben tehát már nem egy SSIS instance-ra kerülnek a csomagok, hanem az SQL
Server-re, az Integration Services Catalogs node alá. Itt először létre kell
hoznunk egy katalógust: jobb klikk, majd Create Catalog.... A felugró ablakban
engedélyeznünk kell a CLR integrációt, és kötelezően meg kell adnunk egy jelszót.
Jelenleg egyetlen, SSISDB nevű katalógust hozhatunk itt létre, amivel automatikusan létrejön egy ugyanilyen nevű adatbázis is (és két login, plusz egy SSIS Server Maintenance nevű job is, csak a teljesség kedvéért).
Jelenleg egyetlen, SSISDB nevű katalógust hozhatunk itt létre, amivel automatikusan létrejön egy ugyanilyen nevű adatbázis is (és két login, plusz egy SSIS Server Maintenance nevű job is, csak a teljesség kedvéért).
Ha már létezik az
SSISDB, nyissunk meg az SSDT-ben (Sql
Server Data Tools, a BIDS utódja) egy Integration Services projectet. A Solution
Explorer-ben kattintsunk jobb gombbal a projectre és a megjelenő menüből válasszuk
a Deploy-t. Ezzel elindítunk egy varázslót, ami pár lépésben végigvisz a
telepítésen. A kihelyezett projectet már az SSMS-ből tudjuk menedzselni.
Akár a Deploy, akár
a Build parancsot választjuk, automatikusan létrejön egy .ispac kiterjesztésű
fájl (a helyét a project tulajdonság-lapján adhatjuk meg). Dupla kattintásra az
SSDT-ben megismert Deployment Wizard indul el, a project így is telepíthető.
Változás esetén az
új verziót ugyanígy élesíthetjük, az új telepítés automatikusan felülírja a régebbit. (Egy apró betűs figyelmeztetés jelenik meg csupán a Deployment Wizard ablakának alján.)
Nagyot nem
hibázhatunk, mivel SQL Serveren bármelyik telepített project verzióra visszaállhatunk. Az SSMS
Object Explorerében kattintsunk jobb gombbal a project nevére, és a helyi menüben
válasszuk a Versions…-t.
A felugró ablakban megjelenő verziók közül pedig jelöljük be azt, amelyiket használni akarjuk, szabadon léphetünk előre-hátra a verziók között.
A felugró ablakban megjelenő verziók közül pedig jelöljük be azt, amelyiket használni akarjuk, szabadon léphetünk előre-hátra a verziók között.
(NEM a
Current mezőt kell kipipálni, hanem csak rá kell állni az adott sorra, aztán
katt a Restore to Selected Version gombra.)
Az új rendszer mindezek
mellett még számos újdonságot tartogat. Új táblák, nézetek és tárolt eljárások,
valamint igen részletes beépített riportok segítik a munkát.
Az új Project Deployment
Model mellett a korábbi telepítési modell is elérhető még, Package Deployment Model néven találhatjuk meg (néhol Legacy Deployment Model-ként
is hivatkoznak rá). A SSIS fejlesztői környezetben már az új modell az
alapértelmezett, de a korábbit is lehet használni, ha átkonvertáljuk a projectet.