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.

Specifying SSIS package location

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)

organizing SSIS packages in file system

É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