Pacchetti Integration Services
Un pacchetto è una raccolta organizzata di connessioni, elementi di flusso di controllo, elementi di flusso di dati, gestori eventi, variabili e configurazioni che possono essere assemblati a livello di programmazione o utilizzando gli strumenti di progettazione grafica disponibili in SQL ServerIntegration Services. Il pacchetto completo viene quindi salvato in SQL Server, nell'archivio pacchetti SSIS o nel file system. Il pacchetto è l'unità di lavoro che viene recuperata, eseguita e salvata.
Al momento della creazione un pacchetto è un oggetto vuoto, privo di funzionalità. Per aggiungere funzionalità a un pacchetto è necessario aggiungervi un flusso di controllo e, facoltativamente, uno o più flussi di dati.
Nella figura seguente viene illustrato un semplice pacchetto che contiene un flusso di controllo con un'attività Flusso di dati, che a sua volta contiene un flusso di dati.
Dopo aver creato il pacchetto base è possibile estenderne le capacità aggiungendovi ad esempio variabili e funzionalità di registrazione. Per ulteriori informazioni, vedere la sezione dedicata agli oggetti che estendono le funzionalità dei pacchetti.
Il pacchetto completo può essere quindi configurato impostando proprietà a livello di pacchetto che implementano la protezione, consentono il riavvio del pacchetto da un checkpoint o l'incorporamento di transazioni nel flusso di lavoro. Per ulteriori informazioni, vedere la sezione dedicata alle proprietà che supportano le funzionalità avanzate.
Contenuto di un pacchetto
Un flusso di lavoro è costituito da una o più attività e contenitori che vengono eseguiti durante l'esecuzione del pacchetto. Per controllare l'ordine o definire le condizioni per l'esecuzione dell'attività o del contenitore successivo nel flusso di controllo del pacchetto, è necessario connettere le attività e i contenitori del pacchetto tramite vincoli di precedenza. È anche possibile raggruppare un subset di attività e contenitori per eseguirli ripetutamente come unità nell'ambito del flusso di controllo del pacchetto. Per ulteriori informazioni, vedere Elementi del flusso di controllo e Creazione del flusso di controllo di un pacchetto.
Un flusso di dati è costituito da origini e destinazioni che estraggono e caricano dati, da trasformazioni che modificano ed estendono dati e da percorsi che collegano origini, trasformazioni e destinazioni. È possibile aggiungere un flusso di dati a un pacchetto solo se il flusso di controllo del pacchetto include un'attività Flusso di dati. L'attività Flusso di dati è un eseguibile, nell'ambito del pacchetto SSIS, che crea, ordina ed esegue il flusso di dati. Per ogni attività Flusso di dati contenuta in un pacchetto, viene aperta un'istanza distinta del motore flusso di dati. Per ulteriori informazioni, vedere Attività Flusso di dati, Elementi dei flussi di dati e Creazione del flusso di dati di un pacchetto.
Un pacchetto include in genere almeno una gestione connessione. Una gestione connessione è un collegamento tra un pacchetto e un'origine dei dati, che definisce la stringa di connessione per l'accesso ai dati utilizzati dalle attività, dalle trasformazioni e dai gestori di eventi del pacchetto. Integration Services include tipi di connessione per origini dei dati quali file XML e di testo, database relazionali e database e progetti di Analysis Services. Per ulteriori informazioni, vedere Connessioni in Integration Services.
Modelli di pacchetto
Molti pacchetti vengono utilizzati come modello per la creazione di pacchetti con le stesse funzionalità di base. È possibile creare il pacchetto di base e quindi copiarlo oppure impostare tale pacchetto come modello. Un pacchetto che scarica e copia file e quindi ne estrae i dati, ad esempio, può includere le attività FTP e File system in un ciclo Foreach che enumera i file presenti in una cartella. Può inoltre includere gestioni connessioni file flat per l'accesso ai dati e origini file flat per l'estrazione dei dati. Poiché la destinazione dei dati può variare, viene aggiunta a ogni nuovo pacchetto dopo la copia dal pacchetto di base. È anche possibile creare pacchetti e quindi utilizzarli come modelli per i nuovi pacchetti da aggiungere a un progetto di Integration Services. Per ulteriori informazioni, vedere Creazione di pacchetti in Business Intelligence Development Studio.
Alla creazione di un nuovo pacchetto, a livello di programmazione o tramite Progettazione SSIS, viene aggiunto un GUID alla proprietà ID e un nome alla proprietà Name del pacchetto. Se si crea un nuovo pacchetto copiando un pacchetto esistente oppure utilizzando un pacchetto modello, verranno copiati anche il nome e il GUID di tale pacchetto. Quando si utilizza la registrazione questo può costituire un problema, perché il GUID e il nome del pacchetto vengono scritti nei log per identificare il pacchetto a cui appartengono le informazioni registrate. È pertanto necessario modificare il nome e il GUID dei nuovi pacchetti per distinguerli tra loro e da quello da cui sono stati copiati, nei dati dei file di log.
Per modificare il GUID di un pacchetto è necessario rigenerare il GUID nella proprietà ID, disponibile nella finestra Proprietà in Business Intelligence Development Studio. Per cambiare il nome di un pacchetto è necessario modificare il valore della proprietà Name nella finestra Proprietà. In alternativa è possibile utilizzare l'utilità della riga di comando dtutil oppure modificare il nome e il GUID a livello di programmazione. Per ulteriori informazioni, vedere Impostazione delle proprietà di un pacchetto e Utilità dtutil.
Oggetti che estendono le funzionalità dei pacchetti
I pacchetti possono includere oggetti quali gestori eventi, configurazioni, funzionalità di registrazione e variabili, che aggiungono funzionalità avanzate o estendono quelle esistenti.
Gestori di eventi
Un gestore di evento è un flusso di lavoro che viene eseguito in risposta agli eventi generati da un pacchetto, un'attività o un contenitore. È ad esempio possibile utilizzare un gestore di evento per controllare lo spazio su disco quando si verifica un evento di pre-esecuzione o un errore e inviare a un amministratore un messaggio di posta elettronica contenente informazioni sullo spazio disponibile o sull'errore. Un gestore di evento è strutturato come un pacchetto, con un flusso di controllo e uno o più flussi di dati facoltativi. I gestori di eventi possono essere aggiunti alle singole attività o contenitori di un pacchetto. Per ulteriori informazioni, vedere Gestori di eventi in Integration Services e Creazione di gestori di eventi per i pacchetti.
Configurazioni
Una configurazione è un set di coppie proprietà-valore che definisce le proprietà del pacchetto e dei relativi contenitori, attività, variabili, connessioni e gestori di eventi, al momento dell'esecuzione del pacchetto. Grazie alle configurazioni è possibile aggiornare le proprietà senza modificare il pacchetto. Quando il pacchetto viene eseguito, le informazioni di configurazione vengono caricate e i valori delle proprietà vengono aggiornati. Una configurazione può ad esempio aggiornare la stringa di connessione.
La configurazione viene salvata e quindi distribuita insieme al pacchetto quando questo viene installato in un altro computer. Quando il pacchetto viene installato in un ambiente diverso, i valori della configurazione possono essere aggiornati in base alle nuove esigenze. Per ulteriori informazioni, vedere Creazione di configurazioni di pacchetto.
Registrazione e provider di log
Un log è una raccolta di informazioni sul pacchetto che vengono raccolte quando il pacchetto viene eseguito. Un log può ad esempio indicare l'ora di inizio e di fine dell'esecuzione di un pacchetto. Un provider di log definisce il tipo di destinazione e il formato che il pacchetto e i relativi contenitori e attività possono utilizzare per la registrazione delle informazioni in fase di esecuzione. I log sono associati a un pacchetto, ma le attività e i contenitori del pacchetto possono registrare informazioni in qualsiasi log di pacchetto. Integration Services include diversi provider di log predefiniti. Integration Services include ad esempio provider di log per SQL Server e file di testo. È inoltre possibile creare provider di log personalizzati e utilizzarli per la registrazione. Per ulteriori informazioni, vedere Provider di log di Integration Services.
Variabili
Integration Services supporta variabili di sistema e variabili definite dall'utente. Le variabili di sistema contengono informazioni utili sugli oggetti del pacchetto in fase di esecuzione, mentre le variabili definite dall'utente consentono la gestione di scenari personalizzati. Entrambi i tipi di variabili possono essere utilizzati in espressioni, script e configurazioni.
Le variabili a livello di pacchetto includono le variabili di sistema predefinite e le variabili definite dall'utente con ambito pacchetto. Per ulteriori informazioni, vedere Variabili in Integration Services.
Proprietà dei pacchetti che supportano funzionalità avanzate
L'oggetto pacchetto può essere configurato in modo da supportare funzionalità quali il riavvio del pacchetto da un determinato checkpoint, la firma del pacchetto con un certificato digitale, l'impostazione del livello di protezione del pacchetto e la protezione dell'integrità dei dati tramite transazioni.
Riavvio dei pacchetti
Il pacchetto include proprietà checkpoint che possono essere utilizzate per riavviarlo quando una o più attività hanno esito negativo. Se ad esempio un pacchetto contiene due attività Flusso di dati che aggiornano due diverse tabelle e la seconda attività non riesce, sarà possibile riavviare il pacchetto senza ripetere la prima attività Flusso di dati. Per i pacchetti a esecuzione prolungata questo consente un notevole risparmio di tempo, perché tramite il riavvio è possibile riprendere l'esecuzione del pacchetto a partire dall'attività non riuscita, anziché rieseguirlo per intero. Per ulteriori informazioni, vedere Utilizzo di checkpoint nei pacchetti.
Protezione dei pacchetti
I pacchetti possono essere firmati digitalmente e crittografati utilizzando una password o una chiave utente. La firma digitale consente di autenticare l'origine del pacchetto. Tuttavia, è necessario configurare anche Integration Services per verificare la firma digitale quando viene caricato il pacchetto. Per ulteriori informazioni, vedere Utilizzo delle firme digitali con i pacchetti e Impostazione del livello di protezione dei pacchetti.
Supporto delle transazioni
Se si imposta un attributo di transazione a livello di pacchetto, sarà possibile includere nella transazione tutti i contenitori, le attività e le connessioni del pacchetto. Gli attributi di transazione assicurano che il pacchetto e i relativi elementi abbiano esito positivo o negativo come una singola unità. Poiché un pacchetto può eseguire altri pacchetti e includerli in una transazione, una singola unità di lavoro può comprendere più pacchetti. Per ulteriori informazioni, vedere Inserimento di transazioni nei pacchetti.
Voci di log personalizzate disponibili nei pacchetti
Nella tabella seguente sono elencate le voci di log personalizzate disponibili per i pacchetti. Per ulteriori informazioni, vedere Implementazione della registrazione nei pacchetti e Messaggi personalizzati per la registrazione.
Voce di log |
Descrizione |
---|---|
PackageStart |
Indica che l'esecuzione del pacchetto è iniziata.
Nota
Questa voce di log viene scritta automaticamente nel log e non può essere esclusa.
|
PackageEnd |
Indica che l'esecuzione del pacchetto è stata completata.
Nota
Questa voce di log viene scritta automaticamente nel log e non può essere esclusa.
|
Diagnostic |
Offre informazioni sugli elementi di configurazione del sistema che influiscono sull'esecuzione dei pacchetti, ad esempio il numero di file eseguibili che possono essere eseguiti simultaneamente. |
Creazione di un pacchetto
In Integration Services sono disponibili due strumenti grafici per la creazione di pacchetti, Progettazione SSIS e Importazione/Esportazione guidata SQL Server, oltre al modello di oggetti SSIS.
Per ulteriori informazioni sulla creazione dei pacchetti, fare clic su un argomento nell'elenco seguente:
Configurazione di un pacchetto
È possibile impostare le proprietà a livello di programmazione o nella finestra Proprietà di Business Intelligence Development Studio.
Per ulteriori informazioni sulle procedure per l'impostazione delle proprietà, fare clic sull'argomento seguente:
Configurazione di un pacchetto a livello di programmazione
Per ulteriori informazioni sull'impostazione di queste proprietà a livello di programmazione, fare clic sull'argomento seguente:
|