SQL Server ed ALM su database


Il blog di Alessandro Alpi
Archivio Posts
Anno 2018

Anno 2017

Anno 2016

Anno 2015

Anno 2014

Anno 2013

Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Introduzione ai SSIS (basilari differenze con i DTS)

Da msdn (SQL Server Books online):
"
Microsoft SQL Server 2005 Integration Services (SSIS) is a platform for building high performance data integration solutions, including extraction, transformation, and load (ETL) packages for data warehousing."

I SSIS sostituiscono gli ormai famossissimi DTS, la cui prima comparsa risale alla versione 7.0 di SQL Server. Ma non pensiamo che si tratti solamente di un'evoluzione. Anzi, SSIS è proprio considerato un nuovo prodotto, vista la sua completa reimplementazione basata sul .NET framework.
Comunque sia è bene fare un parallelismo, anche per chi (come me ad esempio ) ha già usato i DTS.
La differenza più evidente è che SQL Server 2005 fornisce una piattaforma di sviluppo (Business Intelligence Development Studio) per scrivere gli Integration Services. Quindi non si ha più la console Enterprise Manager di SQL Server 2000. I SSIS, vengono salvati in una solution di Visual Studio come file dall'estensione .dtsx. In fase di deploy potranno essere salvati nel repository di SQL Server 2005, ma in fase di sviluppo rimangono sul filesystem.
Dal punto di vista del designer le differenze sono varie e concrete.
Una è la divisione tra il control flow, il data flow e l'event handler.
Il primo è il vero e proprio flusso di controllo, quello che prima veniva implementato con i workflow, costituito da task e da relativi precedence constraints. Questi ultimi finalmente possono essere corredati di condizioni su variabili del pacchetto (che permettono la scelta di un ramo piuttosto che di altri) e uniti secondo operatori AND/OR (in modo da dare la possibilità di seguire logiche condizionate e più complesse).
Il secondo è il designer delle trasformazioni di dati, è il container delle logiche implementate sui dati, costituito anch'esso (e questa è la grande novità) da task e da connettori che rappresentano proprio i dataflow. Questi ultimi possono essere corredati di DataViewers, ovvero da tabelle riassuntive (o grafici) dei primi n dati che stanno transitando da quel dataflow. Questo aumenta di molto le potenzialità della fase di debug dei packages.
Il terzo è un gestore di eventi. Si possono selezionare eventi da un elenco e, per ognuno di essi, definire una logica così come nel control flow. Ogni volta che a runtime si scatena uno degli eventi selezionati, viene eseguita la logica indicata. Molto utile per un semplice log, all'evento onError, ad esempio.
Vi è poi un quarto tab, il package explorer, che permette di navigare il pacchetto tramite il suo object model.
Da non trascurare la presenza di un simpatico tastino (in basso a destra della finestra di design ) che permette di navigare anche i più ingombranti SSIS.. utile, almeno, io l'ho usato parecchio per muovermi..
Altra differenza è che alcuni task sono definiti container (for each, for loop, sequence container) e possono contenere altri task, chiudersi ed aprirsi per occupare meno spazio.
E ancora, le connessioni non sono più nel designer come per i DTS, ma vi è un'area per i cosiddetti Connection Managers, che fungono da data source per gli oggetti che utilizzano connessioni.
Si ha inoltre la possibilità di impostare dei breakpoint differenti sui task, ed insieme a questi, la modalità di debug risulta molto potente. Infatti è possibile eseguire il debug del SSIS ricevendo in visualizzazione il colore del task (rosso - errore, giallo - esecuzione, verde - eseguito correttamente).
Ed infine vi sono finestre per la gestione delle variabili, per il debug, e per la gestione delle nuove Expression, ovvero stringhe calcolate a runtime in base a funzioni definite nell'Expression Editor, completamente editabili dallo sviluppatore.
Dopo un po' di prove si noterà però che mentre gli Script possono essere scritti solo in VB.net, le expression hanno un linguaggio proprietario, più simile alla sintassi C#..
In alcuni casi è proprio necessario utilizzare le Expression, ma per questo vi rimando ad un mio prossimo post.
Queste sono le principali differenze soprattutto a livello di designer, ma ve ne sono altre, sul logging, su come si usano i task, sullo storage dei SSIS, e via discorrendo, ma questo post è proprio una semplice introduzione.
Spero vi possa aiutare, almeno in un primo momento
Categoria: SSIS 2005 Basics
venerdì, 28 apr 2006 Ore. 13.52
Statistiche
  • Views Home Page: 585.080
  • Views Posts: 1.042.164
  • Views Gallerie: 609.294
  • n° Posts: 484
  • n° Commenti: 273



















Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003