La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

SQL Server 2005 Integration Services Franco Perduca Factory Software

Presentazioni simili


Presentazione sul tema: "SQL Server 2005 Integration Services Franco Perduca Factory Software"— Transcript della presentazione:

1 SQL Server 2005 Integration Services Franco Perduca Factory Software

2 Introduzione Cosa sono i SSIS? Utilizzi Architettura Versioni SSIS su piattaforme a 64bit 2

3 Cosa sono i SSIS? Sono una piattaforma per costruire soluzioni di integrazione dati. Si tratta dunque di uno strumento ETL: Extract Transform Load Sono utilizzati in particolare nella costruzione di datawarehouse, dove spesso è necessario: caricare ed integrare dati da fonti eterogenee eseguire trasformazioni sui dati 3

4 Cosa sono i SSIS? SSIS rimpiazza i DTS, presenti in SQL Server a partire dalla versione 7.0 I SSIS includono: Tool grafici per la creazione di package Task per le funzionalità di workflow Data source e data destination Task per la trasformazione, aggregazione, copia dei dati 4

5 Quando li utilizziamo? Ecco alcuni scenari di utilizzo: Integrazione di dati eterogenei Popolamento di datawarehouse e datamart Popolamento di fact table e dimensioni Slowly changing dimension task Pulizia e standardizzazione dei dati Le funzionalità di trasformazione (anche via script) sono strumenti potenti per questo scopo Automatizzazione di funzionalità amministrative Backup/restore, copia di oggetti di SQL Server, process di cubi OLAP 5

6 Architettura di Integration Services SSIS Service Start e stop di package Monitoraggio Gestione package storage SSIS runtime engine Esecuzione package Supporto per Logging Debug Configurazione SSIS data flow engine Gestione buffer per il movimento dati da source a destination Gestione trasformazioni SSIS clients (object model) Tool grafici e da command line API 6

7 Tools Sviluppo Visual studio 2005 Business intelligence development studio Amministazione/Esecuzione SQL Server Management Studio DTUtil DTExec 7

8 SSIS e versioni SQL Server 2005 SQL Express SSIS non è disponibile per questa versione Workgroup Solo import/export wizard Standard Mancano solo le funzionalità avanzate di Business intelligence Enterprise/Developer Versione completa di tutte le funzionalità 8

9 SSIS e piattaforme a 64-bit Su server a 64bit le feature a 64bit sono installate nella cartella Program Files, mentre le feature a 32 bit sono nella cartella Program Files(x86) Gli unici tool a 64bit sono dtexec.exe, dtutil.exe, DTSWizard.exe Alcuni driver non sono disponibili, ad es: Microsoft OLE DB Provider for Jet Problema con Export su Excel Non è possibile disegnare package su Itanium Gli script devono essere precompilati Non è possibile utilizzare il task Execute DTS 2000 Package. Run64bitRuntime = False in Project Properties se si vuol eseguire il package con il runtime a 32bit Il job di tipo SSIS Package Execution del SQL Server agent utilizza sempre il runtime a 64bit. Per schedulare un package a 32bit occorre creare un job di tipo Operating System ed eseguire il package attraverso dtexec.exe a 32bit 9

10 Oggetti e struttura di Integration Services Package Control flow Container Task Variable 10

11 Package Il package è un oggetto contenente una collection di oggetti interrelati. 11 Tasks Connection Managers Precedence Contraints Log Providers Variables Containers For each Enumerators Tranform e Adapters

12 Package E il punto di partenza per lo sviluppo di SSIS Al package vuoto si aggiungono il control flow ed i data flow. E salvato in un file dtsx (xml) oppure nellmsdb 12

13 Control Flow Il package contiene un control flow che: Definisce i precedence contraints di Container Task 13

14 Container Organizzano il package in unità più piccole Forniscono : Transaction scope Variable scope Execution scope Looping functions Breakpoints Error routing Logging scope. Il package stesso è un container. 14

15 Container For Each loop Esegue il workflow una volta per ciscun elemento di una collection For loop Esegue il workflow finchè una condizione non diventi falsa. Sequence container Unità di organizzazione dei task TaskHost Contenier di ciascun task Trasparente allutente 15

16 Task Eseguono il lavoro Ogni task ha un compito specifico DataFlow Task: Sposta i dati Trasforma di dati Sono estensioni pluggable Possono essere sviluppati da terze parti 16

17 Variables Gli oggetti di Integration Services sono isolati, non vedono gli altri oggetti Le varibili sono utilizzate come meccanismo di comunicazione tra gli oggetti. Possono contenere numerosi datatype: Stringhe Numeri Date Dataset Oggetti 17

18 Variables Possono avere scope diversi: Package Container Task Aiutano a rendere i package più configurabili e flessibili. Esistono numerose variabili di sistema 18

19 Connection Managers Forniscono un link al mondo estero a SSIS Alcuni Connection manager non forniscono una vera e propria connessione (ma solo un nome di un file) Altri conneciton manager effrono numerose informazioni oltre la connessione. Esistono numerosi connection manager: OLEDB File SQL Server Analysis Services Oracle XML SAP HTTP 19

20 Log provider Ogni oggetto ha accesso allinfrastruttura di logging. I log provider sono componenti pluggable che raccolgono le informazioni di log dei componenti e le scrivono in una determinata destinazione. I componenti dei SSIS mandano i loro log al runtime SSIS e non conoscono nulla dei log provider. Quindi i log provider rendono indipendenti i componenti di SSIS dal log. 20

21 Event Handlers I package ed i container (i loop e i task) generano eventi che possono essere intercettati attraverso gli EVENT HANDLERS Se un evento non è gestito dal proprio container, esso è rilanciato nel container di livello superiore nella gerarchia. Un event handler è simile ad un package: Ha task, data-flow e control flows 21

22 Eventi 22 EventoDescrizione OnErrorThis event is raised by an executable when an error occurs. OnExecStatusChangedThis event is raised by an executable when its execution status changes. OnInformation This event is raised during the validation and execution of an executable to report information. This event conveys information only, no errors or warnings. OnPostExecuteThis event is raised by an executable immediately after it has finished running. OnPostValidateThis event is raised by an executable when its validation is finished. OnPreExecuteThis event is raised by an executable immediately before it runs. OnPreValidateThis event is raised by an executable when its validation starts. OnProgress This event is raised by an executable when measurable progress is made by the executable. OnQueryCancelThis event is raised by an executable to determine whether it should stop running. OnTaskFailedThis event is raised by a task when it fails. OnVariableValueChanged This event is raised by an executable when the value of a variable changes. The event is raised by the executable on which the variable is defined. This event is not raised if you set the RaiseChangeEvent property for the variable to False. For more information, see. OnWarningThis event is raised by an executable when a warning occurs. OnErrorThis event is raised by an executable when an error occurs. OnExecStatusChangedThis event is raised by an executable when its execution status changes. OnInformation This event is raised during the validation and execution of an executable to report information. This event conveys information only, no errors or warnings.

23 Tipi di dati SSIS ha tipi di dati proprietari. Quando i dati sono caricati, essi sono convertiti nel data type di SSIS. Questo rende indipendente il Data Flow dalla sorgente dati.

24 Metadati I Metadati sono dati che descrivono altri dati. SSIS è basato sui metadati. Grazie ai metadati è possibile validare il package a priori. Però è abbastanza laborioso cambiare i tipi di dati in input.

25 Connections 25

26 Data source Data source views Connection Managers 26

27 Data source E un riferimento ad una connessione creato al di fuori dei package Quando si crea un Data Source: BIDS aggiunge un connection manager (OLE DB) La proprietà DataSourceID di questo connection manager punta al data source. Più package vi possono fare riferimento. Semplifica laggiornamento 27

28 Data Source View Descrive lo schema di un data source. Rende disponibili gli oggetti di un database che possono poi essere utilizzati per definire source o destination E estendibile: Posso creare campi calcolati Posso introdurre filtri Posso sostituire tabelle con named query. Non appartiene ad uno specifico package. 28

29 Connection Manager Rappresentazione logica di una connessione In design time si imposta la proprietà ConnectionString. Al runtime SSIS crea una connessione basandosi su questa proprietà. 29 TipoDescrizione ADOConnects to ActiveX Data Objects (ADO) objects ADO.NETConnects to a data source by using a.NET provider. EXCELConnects to an Excel workbook file. FILEConnects to a file or a folder. FLATFILEConnect to data in a single flat file. FTPConnect to an FTP server. HTTPConnects to a web server. MSMQConnects to a message queue. MSOLAP90 Connects to an instance of SQL Server 2005 Analysis Services (SSAS) or an Analysis Services project. MULTIFILEConnects to multiple files and folders. MULTIFLATFILEConnects to multiple data files and folders. OLEDBConnects to a data source by using an OLE DB provider. ODBCConnects to a data source by using ODBC. SMOServerConnects to a SQL Server Management Objects (SMO) server. SMTPConnects to an SMTP mail server. SQLMOBILEConnects to a SQL Server Compact Edition database. WMI Connects to a server and specifies the scope of Windows Management Instrumentation (WMI) management on the server.

30 EXCEL E utilizzato per Microsoft Office Excel 2003 o precedenti. Per Excel 2007 occorre utilizzare: Microsoft Office 12.0 Access Database Engine OLE DB Provider Bisogna impostare: Extended Properties = Excel


Scaricare ppt "SQL Server 2005 Integration Services Franco Perduca Factory Software"

Presentazioni simili


Annunci Google