mcsd mcad mcse+i mcsa mcdba mct popolare un data warehouse con sql server data transformation...

53
www.devleap.it MCSD MCAD MCSE+I MCSA MCDBA MCT MCSD MCAD MCSE+I MCSA MCDBA MCT Popolare un Popolare un Data Warehouse con Data Warehouse con SQL Server Data SQL Server Data Transformation Transformation Services (DTS) Services (DTS)

Upload: elisabetta-bono

Post on 01-May-2015

226 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

MCSD MCAD MCSE+I MCSA MCDBA MCSD MCAD MCSE+I MCSA MCDBA MCTMCT

Popolare unPopolare unData Warehouse con Data Warehouse con

SQL Server Data SQL Server Data Transformation Transformation Services (DTS)Services (DTS)

Page 2: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Chi siamoChi siamo

www.DevLeap.itwww.DevLeap.itUn gruppo di 5 persone con tanta voglia Un gruppo di 5 persone con tanta voglia

didiStudiare a fondo le tecnologieStudiare a fondo le tecnologieCapire il “behind the scenes”Capire il “behind the scenes”Implementare soluzioni realiImplementare soluzioni realiConfrontarsi con le problematiche realiConfrontarsi con le problematiche realiSperimentare nuove ideeSperimentare nuove idee

Facciamo Corsi, Conferenze, TrainingFacciamo Corsi, Conferenze, Training

Page 3: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

AgendaAgenda

ETL - Processo di alimentazione di un ETL - Processo di alimentazione di un Data Warehouse Data Warehouse Individuazione fonti datiIndividuazione fonti dati Criteri di normalizzazioneCriteri di normalizzazione Processo logico di alimentazioneProcesso logico di alimentazione

DTS come strumento di ETL DTS come strumento di ETL

Page 4: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

ETL – processo di ETL – processo di alimentazionealimentazione

Page 5: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Implementazione dello Star Implementazione dello Star SchemaSchema

Estrazione di dati da fonti diverseEstrazione di dati da fonti diverse Integrazione, trasformazione e Integrazione, trasformazione e

ristrutturazione dei datiristrutturazione dei dati Caricamento dei dati in tabelle Caricamento dei dati in tabelle

dimensioni e tabelle dei fattidimensioni e tabelle dei fatti

Page 6: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Processo di trasformazione dei Processo di trasformazione dei datidati

Validate, Gather ,Validate, Gather , Transform Transform Populate Data Populate Data Distribute Distribute Make Data Consistent Make Data Consistent Data Data WarehouseWarehouse DataData

SalesSales

ServiceService

OtherOther

Data MartsSource OLTP

SystemsTemporary Data

Staging Area

DataDataWarehouseWarehouse

Sales DataSales DataSales DataSales Data

Hardware DataHardware DataHardware DataHardware Data

OracleOracle

SQLSQLServerServer

OtherOther

Page 7: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Caricamento dati dimensionaliCaricamento dati dimensionali

Accesso a fonti dati eterogeneeAccesso a fonti dati eterogenee Verifica fonti datiVerifica fonti dati Assicurare consistenza dei datiAssicurare consistenza dei dati Mantenere integrità delle dimensioniMantenere integrità delle dimensioni Gestire il cambiamento dei dati Gestire il cambiamento dei dati

dimensionalidimensionali

Page 8: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Accesso a fonti dati eterogeneeAccesso a fonti dati eterogenee

Fonti relazionaliFonti relazionali OLTP system in SQL ServerOLTP system in SQL Server Financial database in AccessFinancial database in Access ……

Fonti non relazionaliFonti non relazionali File di testoFile di testo Fogli elettronici (Excel)Fogli elettronici (Excel) ……

Northwind Northwind OLTPOLTP

SpreadsheetsSpreadsheetsExternal External FilesFilesFilesFiles

FinancialFinancial

Page 9: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Verifica fonti datiVerifica fonti dati

Verificare accuratezza fonti datiVerificare accuratezza fonti dati Regole di businessRegole di business Requisiti strutturaliRequisiti strutturali

Gestire dati non validiGestire dati non validi Rifiutare dati non validi nel caricamentoRifiutare dati non validi nel caricamento Salvare dati non validi per successive Salvare dati non validi per successive

correzionicorrezioni

Page 10: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Rendere i dati consistentiRendere i dati consistenti

Integrare i dati da fonti diverseIntegrare i dati da fonti diverse Trasformare i dati in un formato Trasformare i dati in un formato

standardizzatostandardizzato

Page 11: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Trasformare i datiTrasformare i datiTransformTransform

Change

Combine

Calculate

buyer_namebuyer_namebuyer_namebuyer_name

Barr, AdamBarr, Adam

Chai, SeanChai, Sean

O’Melia, ErinO’Melia, Erin

......

reg_idreg_idreg_idreg_id

22

44

66

......

total_salestotal_salestotal_salestotal_sales

17.6017.60

52.8052.80

8.828.82

......

buyer_namebuyer_namebuyer_namebuyer_name

Barr, AdamBarr, Adam

Chai, SeanChai, Sean

O’Melia, ErinO’Melia, Erin

......

reg_idreg_idreg_idreg_id

22

44

66

......

total_salestotal_salestotal_salestotal_sales

17.6017.60

52.8052.80

8.828.82

......

buyer_namebuyer_namebuyer_namebuyer_name

Barr, AdamBarr, Adam

Chai, SeanChai, Sean

O’Melia, ErinO’Melia, Erin

......

price_idprice_idprice_idprice_id

0.550.55

1.101.10

0.980.98

......

qty_idqty_idqty_idqty_id

3232

4848

99

......

buyer_namebuyer_namebuyer_namebuyer_name

Barr, AdamBarr, Adam

Chai, SeanChai, Sean

O’Melia, ErinO’Melia, Erin

......

reg_idreg_idreg_idreg_id

IIII

IVIV

VIVI

......

total_salestotal_salestotal_salestotal_sales

17.6017.60

52.8052.80

8.828.82

......

buyer_namebuyer_namebuyer_namebuyer_name

Barr, AdamBarr, Adam

Chai, SeanChai, Sean

O’Melia, ErinO’Melia, Erin

......

price_idprice_idprice_idprice_id

0.550.55

1.101.10

0.980.98

......

qty_idqty_idqty_idqty_id

3232

4848

99

......

total_salestotal_salestotal_salestotal_sales

17.6017.60

52.8052.80

8.828.82

......

buyer_firstbuyer_firstbuyer_firstbuyer_first

AdamAdam

SeanSean

ErinErin

......

buyer_lastbuyer_lastbuyer_lastbuyer_last

BarrBarr

ChaiChai

O’MeliaO’Melia

......

reg_idreg_idreg_idreg_id

22

44

66

......

total_salestotal_salestotal_salestotal_sales

17.6017.60

52.8052.80

8.828.82

......

Page 12: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Mantenere integrità della Mantenere integrità della dimensionedimensione

Chiave surrogata per ogni recordChiave surrogata per ogni record Definisce la chiave primaria della Definisce la chiave primaria della

dimensionedimensione Collega i campi foreign key della tabella Collega i campi foreign key della tabella

dei fattidei fatti

Caricare un record per ogni chiave Caricare un record per ogni chiave applicativaapplicativa Mantiene univocità nella dimensioneMantiene univocità nella dimensione Dipende da come si gestisce il Dipende da come si gestisce il

cambiamento dei dati dimensionalicambiamento dei dati dimensionali Mantenere l’integrità della tabella dei Mantenere l’integrità della tabella dei

fattifatti

Page 13: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Gestire cambiamento dati Gestire cambiamento dati dimensionidimensioni

Dimensioni con valori di colonne che Dimensioni con valori di colonne che cambianocambiano Inserire nuovi datiInserire nuovi dati Modificare dati esistentiModificare dati esistenti

Soluzione di disegno per slowly-Soluzione di disegno per slowly-changing Dimensionchanging Dimension Type 1: Sovrascrivere il record della Type 1: Sovrascrivere il record della

dimensionedimensione Type 2: Scrivere un altro record nella Type 2: Scrivere un altro record nella

dimensionedimensione Type 3: Aggiungere attributi al record Type 3: Aggiungere attributi al record

della dimensionedella dimensione

Page 14: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Definire caricamento tabella dei Definire caricamento tabella dei fattifatti

Accesso a fonti dati eterogeneeAccesso a fonti dati eterogenee Come per dimensioniCome per dimensioni

Verifica fonte datiVerifica fonte dati Come per dimensioniCome per dimensioni

Assegnare foreign keyAssegnare foreign key Definire misureDefinire misure Mantenere integrità dei datiMantenere integrità dei dati

Page 15: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Assegnare Foreign KeyAssegnare Foreign Key

Identificare chiave Identificare chiave applicativa dimensionale nei applicativa dimensionale nei dati che alimentano la dati che alimentano la tabella dei fattitabella dei fatti

Recuperare le chiavi Recuperare le chiavi primarie da ogni tabella primarie da ogni tabella dimensionale per assegnare dimensionale per assegnare le foreign keyle foreign key

DimensionTables

DimensionTables

customer_dimcustomer_dimcustomer_dimcustomer_dim201 ALFI Alfreds201 ALFI Alfreds

product_dimproduct_dimproduct_dimproduct_dim 25 123 Chai 25 123 Chai

Sales Fact Source Data

customer idcustomer id

ALFI 123 1/1/2000 400

134 1/1/2000134 1/1/2000

time_dimtime_dimtime_dimtime_dim

product idproduct id order dateorder date quantity_salesquantity_sales amount_salesamount_sales

10,789123 1/1/2000 400 10,789

Page 16: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Definire misureDefinire misure

Caricare le Caricare le misure dalla misure dalla fonte datifonte dati

Calcolare Calcolare misure misure aggiuntive / aggiuntive / derivatederivate

Source System Data Source System Data

Fact Table Data Fact Table Data

customer_idcustomer_idcustomer_idcustomer_id

VINETVINET

ALFIALFI

HANARHANAR

......

product_idproduct_idproduct_idproduct_id

9GZ9GZ

1KJ1KJ

0ZA0ZA

......

pricepricepriceprice

.55.55

1.101.10

.98.98

......

qtyqtyqtyqty

3232

4848

99

......

customer_keycustomer_keycustomer_keycustomer_key

100100

238238

437437

......

product_keyproduct_keyproduct_keyproduct_key

512512

207207

338338

......

qtyqtyqtyqty

3232

4848

99

......

total_salestotal_salestotal_salestotal_sales

17.6017.60

52.8052.80

8.828.82

......

Page 17: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Mantenere integrità dei datiMantenere integrità dei dati

Aderire alla granularità della tabella Aderire alla granularità della tabella dei fattidei fatti Una tabella dei fatti può avere una sola Una tabella dei fatti può avere una sola

granularitàgranularità Bisogna caricare i dati con lo stesso livello Bisogna caricare i dati con lo stesso livello

di dettaglio definito dalla granularitàdi dettaglio definito dalla granularità

Verificare constraint colonneVerificare constraint colonne NOT NULL constraintNOT NULL constraint FOREIGN KEY constraintFOREIGN KEY constraint

Page 18: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Implementare Staging TableImplementare Staging Table

Centralizzare e integrare fonti dati Centralizzare e integrare fonti dati diversediverse

Spezzare in parti più semplici delle Spezzare in parti più semplici delle trasformazioni complessitrasformazioni complessi

Facilitare il recovery degli erroriFacilitare il recovery degli errori

Page 19: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

ETLETL

Tool utilizzati per alimentare un data Tool utilizzati per alimentare un data martmart

ETL: Extract, Transform and LoadETL: Extract, Transform and Load EstrazioneEstrazione

ConnettivitàConnettività TrasformazioneTrasformazione

Cambia il modello logicoCambia il modello logico Individua errori di coerenzaIndividua errori di coerenza Corregge o segnala anomalieCorregge o segnala anomalie

CaricamentoCaricamento ConnettivitàConnettività OttimizzazioneOttimizzazione

Page 20: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Validazione dei datiValidazione dei dati

Convalidare e correggere i dati prima Convalidare e correggere i dati prima di importarli nel Data Warehousedi importarli nel Data Warehouse

Determinare e correggere i processi Determinare e correggere i processi che invalidano i datiche invalidano i dati

Salvare in un log i dati non validi per Salvare in un log i dati non validi per un esame successivoun esame successivo

Page 21: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Rendere i dati consistentiRendere i dati consistenti

I dati possono essere inconsistenti per vari I dati possono essere inconsistenti per vari motivi:motivi: I dati provengono da fonti diverse, in cui sono I dati provengono da fonti diverse, in cui sono

consistenti, ma vengono rappresentati in modo consistenti, ma vengono rappresentati in modo diverso nel Data Warehousediverso nel Data Warehouse

La stessa informazione è rappresentata in modo La stessa informazione è rappresentata in modo diverso su differenti fonti datidiverso su differenti fonti dati

Rendere i dati consistenti:Rendere i dati consistenti: Eliminare codifiche numeriche in valori leggibiliEliminare codifiche numeriche in valori leggibili Convertire versioni diverse della stessa Convertire versioni diverse della stessa

informazione in una singola rappresentazioneinformazione in una singola rappresentazione

Page 22: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Alimentare un Data WarehouseAlimentare un Data Warehouse

Scegliere il tool ETL appropriatoScegliere il tool ETL appropriato Transact-SQLTransact-SQL Query distribuiteQuery distribuite Utility BCP (bulk copy), istruzione BULK Utility BCP (bulk copy), istruzione BULK

INSERTINSERT DTS (Data Transformation Services)DTS (Data Transformation Services)

Page 23: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

DTS (Data Transformation DTS (Data Transformation Services)Services)

Incluso in SQL Server 2000Incluso in SQL Server 2000 Supporta qualsiasi fonte (e Supporta qualsiasi fonte (e

destinazione) OLE DBdestinazione) OLE DB Consente di integrare ActiveX Scripts Consente di integrare ActiveX Scripts

all’interno delle operazioni disponibiliall’interno delle operazioni disponibili

Page 24: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Il Package di DTSIl Package di DTS

Step 3Step 3

Step 1Step 1

Step 2Step 2

VBVBScriptScript

COMCOMObjectObject

JavaJava

SQL QuerySQL Query

QueryQuery

Exec UtilityExec Utility

DestinationDestination

SourceSource DestinationDestination

SourceSource

Step NStep N ……....

Page 25: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Il Package di DTSIl Package di DTS

Contiene la definizione delle attività da Contiene la definizione delle attività da eseguire come parte della eseguire come parte della trasformazionetrasformazione

Può essere eseguito dalla GUI, da Può essere eseguito dalla GUI, da scheduler, da command line, da scriptscheduler, da command line, da script

Ciascun package è costituito da passi Ciascun package è costituito da passi (step) multipli(step) multipli

Gli step vengono eseguiti in serie o in Gli step vengono eseguiti in serie o in paralleloparallelo

Fornisce un modello di “workflow”Fornisce un modello di “workflow” Transazioni lungo gli stepTransazioni lungo gli step

Page 26: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

DTS Package EditorDTS Package Editor

Page 27: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

DTS Object ModelDTS Object ModelDTS PackageDTS Package

TransformsTransforms

SourceSourceColumnsColumns

DestinationDestinationGlobalsGlobals

PrecedencesPrecedences

StepsSteps

CustomCustom

ActiveXActiveX

Data PumpData Pump

TasksTasks

Page 28: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Package stepsPackage steps

Step “custom” (personalizzato)Step “custom” (personalizzato) IDTSCustomStepIDTSCustomStep

DatapumpDatapump Trasformazione generica OLE DBTrasformazione generica OLE DB

ActiveX ScriptingActiveX Scripting Logica procedurale (integrata in DataPump)Logica procedurale (integrata in DataPump)

EXEEXE Integrazione con applicazioni esistentiIntegrazione con applicazioni esistenti

Page 29: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

DTS Import/Export WizardDTS Import/Export Wizard

Il Wizard Import/Export data di SQL Il Wizard Import/Export data di SQL Server genera un package DTSServer genera un package DTS

Se eseguito immediatamente, resta in Se eseguito immediatamente, resta in memoria e non viene salvatomemoria e non viene salvato

Utile per creare veloci prototipi o per Utile per creare veloci prototipi o per mappare inizialmente molte tabellemappare inizialmente molte tabelle

Page 30: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

DTS Package DesignerDTS Package Designer Menu SystemMenu System

MMC menuMMC menu DTS Package DTS Package

Designer Designer menumenu

ToolbarsToolbars DTS Package DTS Package

Designer Designer toolbartoolbar

Task toolbarTask toolbar Connection Connection

toolbartoolbar Design SheetDesign Sheet

ConnectionsConnections TasksTasks StepsSteps

Page 31: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Connessioni in un package DTSConnessioni in un package DTS

Fonti datiFonti dati OLE DBOLE DB ODBCODBC

Categorie connessioniCategorie connessioni File connectionsFile connections Database connectionsDatabase connections Microsoft Data LinksMicrosoft Data Links

Page 32: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Tasks che trasformano datiTasks che trasformano dati

Transform Data TaskTransform Data TaskTrasforma e inserisce datiTrasforma e inserisce dati

Data Driven Query TaskData Driven Query TaskOperazioni flessibili con T-SQLOperazioni flessibili con T-SQL

ParallelDataPumpTaskParallelDataPumpTaskElabora rowset gerarchiciElabora rowset gerarchici

Page 33: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Tasks che copiano e gestiscono Tasks che copiano e gestiscono datidati

Bulk Insert TaskBulk Insert Task Loads Files into SQL Loads Files into SQL ServerServer

Execute SQL TaskExecute SQL Task Runs SQL Runs SQL StatementsStatements

Copy SQL Server Objects TaskCopy SQL Server Objects Task Copies Objects Between Copies Objects Between SQL Server DatabasesSQL Server Databases

Transfer Databases TaskTransfer Databases Task Copies a Copies a SQL Server DatabaseSQL Server Database

Transfer Jobs Task Copies SQL Server Agent Jobs

Transfer Logins Task Copies SQL Server Logins

Transfer Master Stored Procedures Task Copies SQL Server Master Database Stored Procedures

Transfer Error Messages Task Copies SQL Server User-specified Error Messages

Page 34: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Tasks che funzionano come JobTasks che funzionano come Job

ActiveX Script Task Performs User-Defined Logic

FTP Task Transfers Files

Analysis Services Task Processes Cubes

Data Mining Task Processes Data Mining Models

Send Mail Task Sends Email Messages

Execute Process TaskExecute Process Task Runs Executable FilesRuns Executable Files

Message Queue TaskMessage Queue Task Sends and Receives Sends and Receives MessagesMessages

Execute Package TaskExecute Package Task Executes DTS PackagesExecutes DTS Packages

Dynamic Properties TaskDynamic Properties Task Changes Package Changes Package PropertiesProperties

Page 35: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Applicare vincoli di precedenzaApplicare vincoli di precedenza

Vincoli di precedenzaVincoli di precedenza On CompletionOn Completion On SuccessOn Success On FailureOn Failure          

Esecuzione degli step basata su vincoli Esecuzione degli step basata su vincoli di precedenzadi precedenza Usare zero, uno o più vincoli di Usare zero, uno o più vincoli di

precedenzaprecedenza Si devono soddisfare tutto i vincoli di Si devono soddisfare tutto i vincoli di

precedenza definitiprecedenza definiti

Page 36: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Proprietà stepProprietà step

TransazioneTransazione Joining a step to package transactionJoining a step to package transaction Committing a transactionCommitting a transaction Rolling back a transactionRolling back a transaction

Impostazioni esecuzioneImpostazioni esecuzione Eseguire uno step nel thread principale Eseguire uno step nel thread principale

(STA)(STA) Interruzione di un package in seguito al Interruzione di un package in seguito al

fallimento di uno stepfallimento di uno step Disabilitazione di uno stepDisabilitazione di uno step

Page 37: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Memorizzare ed eseguire packageMemorizzare ed eseguire package

Memorizzare i PackageMemorizzare i Package SQL ServerSQL Server SQL Server Meta Data ServicesSQL Server Meta Data Services Structured storage fileStructured storage file Visual Basic fileVisual Basic file

Eseguire i packageEseguire i package Esecuzione interattivaEsecuzione interattiva Esecuzione batchEsecuzione batch

Page 38: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Task che copiano e gestiscono Task che copiano e gestiscono datidati

Bulk Insert TaskBulk Insert Task Quickly QuicklyCarica file in SQL ServerCarica file in SQL Server

Execute SQL TaskExecute SQL TaskEsegue istruzioni T-SQLEsegue istruzioni T-SQL

Copy SQL Server Objects TaskCopy SQL Server Objects Task Copia oggetti tra istanze di SQL Server Copia oggetti tra istanze di SQL Server 7.0 o SQL Server 20007.0 o SQL Server 2000

Transfer Database Objects TasksTransfer Database Objects TasksCopia informazioni complessive per un Copia informazioni complessive per un database da un’istanza di SQL Server database da un’istanza di SQL Server 7.0 o SQL Server 2000 a un’istanza di 7.0 o SQL Server 2000 a un’istanza di SQL Server 2000SQL Server 2000

Page 39: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Funzionalità Bulk Insert TaskFunzionalità Bulk Insert Task

Caricamento veloce da file a SQL Caricamento veloce da file a SQL ServerServer

Supporta destinazione Tabelle o Supporta destinazione Tabelle o Viste su SQL ServerViste su SQL Server

Richiede file delimitati (CSV o Richiede file delimitati (CSV o lunghezza fissa)lunghezza fissa)

Carica i dati senza trasformazioniCarica i dati senza trasformazioni Supporta i Format Files per Supporta i Format Files per

specificare il layout del filespecificare il layout del file Richiede appartenenza a ruolo Richiede appartenenza a ruolo

sysadmin o bulkadminsysadmin o bulkadmin

Page 40: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

SQL TaskSQL Task

Esecuzione istruzioni SQLEsecuzione istruzioni SQL Il database connesso deve comprendere la Il database connesso deve comprendere la

sintassi SQLsintassi SQL Supporta una o più istruzioni SQLSupporta una o più istruzioni SQL

Query parametricheQuery parametriche Parametri inputParametri input Parametri outputParametri output Si usano le variabili di packageSi usano le variabili di package

Page 41: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Trasformazioni DTSTrasformazioni DTS

Page 42: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

DTS Data PumpDTS Data Pump

Architettura a elevate prestazioniArchitettura a elevate prestazioni OLE DB Service ProviderOLE DB Service Provider Estendibile via COM e ActiveX ScriptsEstendibile via COM e ActiveX Scripts

Data PumpData PumpData PumpData Pump

IDTSDataPumpIDTSDataPump

IUnknownIUnknown

Page 43: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Elaborazione Data PumpElaborazione Data Pump

OLE DB OLE DB ODBCODBCFixed FieldFixed FieldASCII DelimitedASCII Delimited

SourceSource

OLE DB OLE DB ODBCODBCFixed FieldFixed FieldASCII DelimitedASCII DelimitedRepl. PublicationRepl. Publication

DestinationDestination

DTS Data PumpDTS Data PumpInIn OutOut

ActiveX ScriptActiveX ScriptCopyCopyTrim StringTrim String……CustomCustom

X FormsX Forms

1.1. Connessione a sorgente e Connessione a sorgente e destinazionedestinazione

2.2. Lettura metadati OLE DB Lettura metadati OLE DB su colonne sorgenti e su colonne sorgenti e destinazionedestinazione

3.3. Raccoglie definizioni delle Raccoglie definizioni delle trasformazioni datitrasformazioni dati

4. Implementa le trasformazioni

5. Scrive i record sulla destinazione

Page 44: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Transform Data Task Transform Data Task

Funzionalità di spostamento e Funzionalità di spostamento e trasformazione dei datitrasformazione dei dati Copia i dati tra fonti dati eterogeneeCopia i dati tra fonti dati eterogenee Applica trasformazioni opzionali a livello Applica trasformazioni opzionali a livello

di colonnadi colonna

Funzionalità estese di trasferimento Funzionalità estese di trasferimento dei datidei dati Supporta elaborazione “batch” dei datiSupporta elaborazione “batch” dei dati Fornisce capacità di gestione degli erroriFornisce capacità di gestione degli errori Contiene impostazioni di ottimizzazione Contiene impostazioni di ottimizzazione

per destinazioni SQL Serverper destinazioni SQL Server

Page 45: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Impostare sorgente e Impostare sorgente e destinazionedestinazione

SorgenteSorgente Connessione sorgenteConnessione sorgente Tabella, query, vista o file sorgenteTabella, query, vista o file sorgente

DestinazioneDestinazione Connessione destinazioneConnessione destinazione Tabella destinazione esistente o struttura Tabella destinazione esistente o struttura

tabellaretabellare Nuova tabella destinazione o struttura Nuova tabella destinazione o struttura

tabellaretabellare La creazione avviene a design-time, non a ogni La creazione avviene a design-time, non a ogni

esecuzioneesecuzione Il DTS Import/Export wizard crea un DTS con due Il DTS Import/Export wizard crea un DTS con due

step separati, uno crea la tabella e l’altro step separati, uno crea la tabella e l’altro l’alimental’alimenta

Page 46: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Definizione del mapping delle Definizione del mapping delle colonnecolonne

MappingMappinguno-a-uno uno-a-uno

Mapping Mapping simmetrico simmetrico molti-a-moltimolti-a-molti

Mapping Mapping asimmetricoasimmetrico

Page 47: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Costruire trasformazioniActiveX Script

Page 48: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Trasformazioni ActiveX ScriptTrasformazioni ActiveX Script

Trasformazioni ActiveX Script Trasformazioni ActiveX Script Contengono logica di trasformazione Contengono logica di trasformazione

definita dall’utentedefinita dall’utente Sono interpretate al momento Sono interpretate al momento

dell’esecuzionedell’esecuzione

Linguaggi di scriptingLinguaggi di scripting VB ScriptVB Script JScriptJScript Qualsiasi linguaggio di scripting installatoQualsiasi linguaggio di scripting installato

Page 49: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Definire trasformazioni ActiveX Definire trasformazioni ActiveX ScriptScript

Funzione che contiene la logica di Funzione che contiene la logica di trasformazione dei datitrasformazione dei dati

Mapping delle colonne sorgenti e Mapping delle colonne sorgenti e destinazionedestinazione

Il valore di ritorno (definito nelle Il valore di ritorno (definito nelle costanti DTSTransformStat) definisce costanti DTSTransformStat) definisce l’azione da eseguire per il recordl’azione da eseguire per il record Consente di fare trasformazioni 1:N e N:1Consente di fare trasformazioni 1:N e N:1 Es. Pivot o Unpivot di una tabellaEs. Pivot o Unpivot di una tabella

Page 50: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Costanti DTSTransformStatCostanti DTSTransformStat

DTSTransformStat ConstantDTSTransformStat ConstantDTSTransformStat ConstantDTSTransformStat Constant DescriptionDescriptionDescriptionDescription

Terminate further processing of this rowand return an error for the recordTerminate further processing of this rowand return an error for the record

DTSTransformStat_SkipFetchDTSTransformStat_SkipFetch Do not fetch the next rowDo not fetch the next row

DTSTransformStat_SkipInsertDTSTransformStat_SkipInsert Do not write the current row to the destinationDo not write the current row to the destination

DTSTransformStat_SkipRowDTSTransformStat_SkipRow Terminate further processing of this row fornon-error reasonsTerminate further processing of this row fornon-error reasons

DTSTransformStat_OKDTSTransformStat_OK Default conversions succeed and insert the record into the destinationDefault conversions succeed and insert the record into the destination

DTSTransformStat_Error

Page 51: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Creare record multipliCreare record multipli

Product GroupProduct GroupProduct GroupProduct Group Hot BeverageHot BeverageHot BeverageHot Beverage Fruit JuiceFruit JuiceFruit JuiceFruit Juice

DrinksDrinks Hot ChocolateHot Chocolate Apple CiderApple Cider

Product GroupProduct GroupProduct GroupProduct Group BeverageBeverageBeverageBeverage

DrinksDrinks Hot ChocolateHot Chocolate

DrinksDrinks Apple CiderApple Cider

Page 52: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

ConclusioniConclusioni

DTS è uno strumento di sviluppoDTS è uno strumento di sviluppo Riduce il codice da scrivere per le Riduce il codice da scrivere per le

operazioni ripetitiveoperazioni ripetitive Mantiene aperte tutte le strade di Mantiene aperte tutte le strade di

personalizzazione quando è necessariopersonalizzazione quando è necessario VBScript, JScriptVBScript, JScript Componenti ActiveXComponenti ActiveX

Supporto per automazione procedure Supporto per automazione procedure e generazione log dettagliatie generazione log dettagliati

Page 53: MCSD MCAD MCSE+I MCSA MCDBA MCT  Popolare un Data Warehouse con SQL Server Data Transformation Services (DTS)

www.devleap.it

Altre InformazioniAltre Informazioni

Dove posso ottenere maggiori Dove posso ottenere maggiori informazioniinformazioniwww.microsoft.com/italy/sqlwww.microsoft.com/italy/sqlwww.microsoft.com/italy/businessintelligencewww.microsoft.com/italy/businessintelligencewww.microsoft.com/sqlwww.microsoft.com/sqlwww.microsoft.com/sql/evaluation/biwww.microsoft.com/sql/evaluation/bimsdn.microsoft.commsdn.microsoft.com

Developer resourcesDeveloper resourcesMicrosoft Developer NetworkMicrosoft Developer Networkwww.devleap.itwww.devleap.itwww.sqljunkies.comwww.sqljunkies.com