Hol tároljuk az SSIS csomagokat: fájlban vagy adatbázisban?
Az Integration Services Package egy .dtsx kiterjesztésű XML fájl, melyet három különböző módon (helyen) tárolhatunk. Nem újdonság ez, hiszen az SQL 2000-es DTS-sel is lehetőségünk volt arra, hogy a Package-t a fájlrendszerben, az msdb adatbázisban, vagy a meta adatok között tároljuk. A meta adatok közti tárolás lehetősége a 2005-ös verziótól megszűnt, maradt a fájl rendszer és az msdb adatbázis az SQL szerveren.
Harmadik lehetőségként megjelent az "SSIS Package Store", ami igazából nem más, mint egy speciális könyvtár (nálam a "D:\Microsoft SQL Server\90\DTS\Packages" helyen található.) Az Integration Services Service ebben a könyvtárban keresi az SSIS csomagokat. Természetesen ezt megváltoztathatjuk, és újabb rendszerkönyvtárakat vehetünk fel, ha átírjuk az "MsDtsSrvr.ini.xml" ini fájl megfelelő sorait (nálam a "D:\Microsoft SQL Server\90\DTS\Binn" könyvtárban található).
Például a "DIM Packages" rendszerkönyvtár felvételéhez be kell szúrni az MsDtsSrvr.ini.xml fájlba a <TopLevelFolders> tag alá a következőket:
<Folder xsi:type="FileSystemFolder">
<Name>Dim packages</Name>
<StorePath>..\DIM Packages</StorePath>
</Folder>
(Persze létre kell hozni a DIM Packages könyvtárat, és újra kell indítani az Integration Services szolgáltatást is)
És akkor kanyarodjunk vissza az eredeti kérdéshez: Hol tároljuk az adattárház töltő SSIS Package-eket, illetve milyen érvek szólnak az adatbázisban tárolás és a fájl rendszerben történő tárolás mellett:
Fájlrendszer vagy SSIS package store
-
együttműködik a BI Studio "Source control" rendszerével
-
Egyszerűbb menteni és visszaállítani mint az msdb adatbázist
-
Egyszerűbben betölti a BI Studio.
-
Hierarchikusan rendezhetjük SSIS package-einket.
msdb adatbázis
-
A napi mentések során SSIS csomagjaink automatikusan mentődnek.
Mindezeket figyelembe véve célszerű az SSIS csomagokat a fájlrendszerben tárolni. Akit ez nem győzött meg, az olvassa el Jamie Thomson írását, aki további érveket sorakoztat fel a fájlrendszerben történő tárolás mellett: Ha olyan csomagjaink vannak amelyek, használnak Execute Package Task-ot, és SSIS csomagjainkat adatbázisban tároljuk, akkor ugyanazon SSIS package meghívásához két külön connection-re lesz szükségünk: egy "OLE DB Connection Manager"-re és egy "File Connection Manager" -re, bár egyszerre csak az egyiket használjuk.
Kővári Attila - BI projekt
Új hozzászólás