6 funkció, amit egy ETL betöltő csomagnak tartalmaznia kell

Az SQL Server Integration Services (SSIS) lehetőséget biztosít számunkra, hogy úgynevezett package template-eket definiálhassunk. A package template-ek egyfajta kiinduló package-ek, amelyek már tartalmazzák mindazon objektumokat, amelyeket az adattárház feltöltéséhez rendszerint használunk. Így például:

  • Connection - ök (Minden egyes package-nek tartalmaznia kell, hogy melyik adatforráson vagy adatforrás nézeteken (Data Source View) keresztül kíván kapcsolódni a forrásadatokhoz)
  • Standard execute SQL task-ok. Az SSIS beépített naplózási lehetőségén túl szükséges lehet saját betöltési naplót (log-ot) is készíteni, és ebben az esetben célszerű a naplózást megvalósító standard SQL task-okat beépíteni a sablonba.
  • Változók (variables). Az SSIS-ben lehetőségünk van arra, hogy a "data pump" on átmenő rekordok számát változóba kiírjuk, amit remekül fel lehet használni a package naplózásához. Például hány új elemet talált egy dimenziókat töltő package, vagy hány elemnek változott meg valamely tulajdonsága, vagy hány elemet nem tudott valamilyen hiba miatt feldolgozni.
  • OnPostExecute breakpoint. Az OnPostExecute breakpoint közvetlenül a package lefutásának befejezése előtt leállítja a package futását, lehetőséget adva így a package változóinak tartalmának megtekintésére. Ha nem állítjuk be ezt a breakpoint-ot, futás után már nem tudjuk megnézni változóink tartalmát. (A brakepoint-ok csak kézzel történő indításkor működnek, így nem kell félni attól, hogy a napi kötegelt futáskor majd megállnak a package-ek a brakepoint miatt)
  • Eseménykezelők (event handlers) Az SSIS-sel lehetőségünk nyílt a package eseményeinek lekezelésére, mint például arra, hogy mi történjen, ha a package futása valamilyen hiba miatt megszakad. (Pl."onError" esemény esetén írja ki a hibakódot, és a hiba leírását a naplófájlba)
  • Standard naplózási beállítások. Az SSIS rendelkezik saját, konfigurálható naplózási szolgáltatással, így a Template package-ben célszerű beállítani azt, hogy milyen eseményeket naplózzon az SSIS)

Hogyan kell SSIS sablonokat létrehozni?

  1. Készítsünk egy üres package-et, ami tartalmazza a szükséges beállításokat, objektumokat.
  2. Másoljuk ezt fájlt a "C:\Program Files\Microsoft Visual Studio 8\ Common7\IDE\PrivateAssemblies\ProjectItems\ DataTransformationProject\DataTransformationItems" könyvtárba

Honnan hívhatjuk elő elkészített SSIS sablonjainkat?

  1. Jobb egér a project-en (a solution explorer ablakban)
  2. Add.
  3. New Item.
  4. És a Visual Studio installed templates között megjelennek saját sablonjaink

SSIS template package létrehozása

Rákfene

Akár ezzel a módszerrel, akár a package-ek másolásával hozunk létre új package-et, a package belső azonosítója nem változik meg, azaz mind a két package PackageID -ja (amiről azt gondolnánk, hogy egyedileg azonosítja a Package-t) - azonos marad. Ez semmilyen hatással nincs a package futására, de a beépített naplójának használatát megnehezíti.

Arról, hogy hogyan generálhatunk egyedi ID-t az SSIS package-eknek arról az itt olvasható knowledge base cikk számol be.

Kővári Attila - BI projekt

Új hozzászólás