Ghid_ProiectIntegrationServices

13
Popularea depozitului de date. Definirea proiectului SQL Server Integration Services pentru transferal datelor din sursele operationale in depozitul de date Sursa de date si depozitul se regasesc in SQL Server Management Studio. User: SIADnrgrupa (exemplu: SIAD641) Password: SIADnrgrupa (exemplu: SIAD641) Sursa de date se regaseste la fiecare grupa sub forma, ca exemplu, #SIAD2014_641_VanzariSursa Pentru fiecare grupa se genereaza mai multe depozite de date care se regasesc sub forma: #SIAD2014_641_VanzariDepozit1 Se lanseaza in executie instrumentul SQL Server Data tools (Start> Programs>Microsoft SQL Server Data Tools > New Project>Business Intelligence> Integration Services

description

sisteme informatice de gestiune

Transcript of Ghid_ProiectIntegrationServices

Popularea depozitului de date.Definirea proiectului SQL Server Integration Services pentru transferal datelor din sursele operationale in depozitul de date

Sursa de date si depozitul se regasesc in SQL Server Management Studio. User: SIADnrgrupa (exemplu: SIAD641)Password: SIADnrgrupa (exemplu: SIAD641)

Sursa de date se regaseste la fiecare grupa sub forma, ca exemplu, #SIAD2014_641_VanzariSursa Pentru fiecare grupa se genereaza mai multe depozite de date care se regasesc sub forma: #SIAD2014_641_VanzariDepozit1

Se lanseaza in executie instrumentul SQL Server Data tools (Start> Programs>Microsoft SQL Server Data Tools > New Project>Business Intelligence> Integration Services

Se creeaza un nou proiect tip Integration Services Project (in Visual Studio). Se introduce numele proiectului in rubrica Name si se defineste directorul unde se vor stoca toate fisierele proiectului New ProjectIntegration Services ProjectNameLocationSolution NameSe salveaza in folder-ul dedicat (ca exemplu pe Desktop).

La nivelul unui proiect tip Integration Services Project toate operatiunile de transfer a datelor sunt grupate in pachete.

Se definesc operatiunile de transfer a datelor si succesiunea acestora. Ordinea de transfer a datelor trebuie sa fie urmatoarea: 1. Se alimenteaza cu date tabelele dimensionale2. Se alimenteaza cu date tabela de fapte

Operatiunile de transfer a datelor de la nivelul unui pachet Integration Services sunt denumite sarcini (task) si pot fi definite in sectiunea Control Flow a pachetului.

Dintre toate tipurile de sarcini care pot fi utilizate pentru a transfera date cel mai utilizat tip este Data Flow Task.

Se defineste cate o sarcina (task) de tip Data Flow pentru fiecare tabel din depozit, in succesiunea stabilita anterior. Sarcinile din Toolbox vor fi plasate in zona de lucru Control Flow prin operatiuni Drag and Drop.

Fiecare obiect de tip Data Flow Task poate fi redenumit (De ex, Data flow Task 1 Populare dim timp).

Se definesc conexiunile catre sursele de date si catre depozitul de dateIn fereastra Connection Manager - din meniul contextual selectati New OLE DB Connection pentru sursa de date

Server name : s-win-sql-cig\cigSursa: #SIAD2014_vanzarisursaUser: SIADnrgrupeiPassword: SIADnrgrupeiSe verifica conexiunea: Test Connection

In fereastra Connection Manager - din meniul contextual selectati New OLE DB Connection pentru depozitul de date

Server name : s-win-sql-cig\cigUser: SIADnrgrupeiPassword: SIADnrgrupeiSe verifica conexiunea: Test ConnectionDestinatia: #SIAD-nrgrupa vanzaridepozit (1-15)

Se verifica conexiunea: Test Connection

Sursa si destinatia in Connection Managers

In general, orice sarcina tip Data Flow Task trebuie sa includa cel putin urmatoarele componente: Una sau mai multe surse de date Optional, se pot define si transformari care se aplica datelor transferate (prelucrari intermediare) Una sau mai multe destinatii

Popularea unei dimensiuni: Din fereastra Data Flow se aleg destinatia si sursa pentru dimensiunea respectiva

Exemplu de implementare a unei sarcini popularea dimensiunii Timp Meniul contextual > Edit Se alege conexiunea definita anterior cu baza de date sursa Data access mode : SQL command ( se indica faptul ca sursa de date este o interogare SQL) In rubrica SQL command text se defineste comanda SQL propriu-zisa

Se selecteaza butonul preview pentru a vizualiza primele inregistrari returnate de aceasta interogare OK

In zona de lucru Data Flow aferenta sarcinii populare dimensiune Timp se adauga destinatia pentru datele din sursa de date Data Access Fast Load Table or view Name DimTimp (numele tabelului asa cum apare in depozitul de date) In sectiunea Mappings se verifica corespondentele dintre campurile sursa si campurile destinatie

Pentru transferul efectiv al datelor: Se alege optiunea Execute Task (din fereastra Control Flow, meniul contextual al Sarcinii Populare dim Timp

sau

Se implementeaza toate sarcinile corespunzatoare pachetului si acesta se executa in intregime la final (Execute Package din meniul contextual)

Dupa finalizarea executiei operatiunii sau, dupa caz, tuturor operatiunilor din pachet se va selecta butonul Stop Debugging din bara cu instrumente.

(Finalizarea executiei cu succes a unei sarcini este marcata prin culoarea verde, iar in cazul aparitiei unor erori in procesarea unei sarcini se utilizeaza culoarea rosu)

Definirea unor prelucrari intermediare

De cele mai multe ori, este necesara efectuarea unor transformari asupra datelor ce urmeaza a fi transferate in depozit (ETL).

Pentru a defini aceste transformari, in zona de lucru Data Flow: Se sterge legatura directa intre sursa si destinatie Se adauga o noua sursa Se sadauga componenta/componentele corespunzatoare transformarii/transformarilor respective

Exemplu: Repopularea dimensiunii timp trebuie aduse in depozit doar acele date care nu exista deja. Este necesara deci o transformare intermediara intre sursa si destinatie.

In zona de lucru Data Flow pentru popularea dimensiunii Timp: Se sterge legatura directa intre sursa si destinatie Se adauga o noua sursa (Source Assistance> Add new source> Depozit). Selectam din depozit direct dimensiunea timp pentru o a doua sursa de date Cele doua seturi de date (datele de transferat si cele deja existente in depozit) trebuie sortate fiecare dupa campurile care vor defini conditia de jonctiune . Selectez componenta Sort o data pentru sursa initiala (baza de date Vanzari) campul de sortare data facturarii si o data pentru sursa depozit (tabela timp) campul de sortare data. Se adauga componenta Merge Join si se conecteaza cele doua componente de tip Sort la component Merge Join astfel incat sa se realizeze jonctiunea dintre cele doua seturi de date optiunea left join pe campul data din depozit Setul de rezultate trebuie filtrat (componenta Conditional Split campul data din depozit trebuie sa aiba valoarea NULL ) astfel incat doar acele date care sunt inexistente in depozit sa fie transferate Se creeaza legatura cu sursa finala (depozitul de date)