Condividi tramite


Contenitori in Integration Services

Si applica a: SQL Server SSIS Integration Runtime in Azure Data Factory

I contenitori sono oggetti in SQL Server Integration Services che forniscono la struttura ai pacchetti e servizi per le attività. Supportano la ripetizione dei flussi di controllo nei pacchetti e consentono di raggruppare attività e contenitori in unità di lavoro significative. Oltre alle attività, i contenitori possono includere anche altri contenitori.

Nei pacchetti i contenitori vengono utilizzati per gli scopi seguenti:

  • Ripetere determinate attività per ogni elemento di una raccolta, ad esempio i file in una cartella, schemi o oggetti SMO (SQL Server Management Objects). Un pacchetto può ad esempio eseguire istruzioni Transact-SQL disponibili in più file.

  • Ripetere determinate attività finché un'espressione specificata non restituisce false. Un pacchetto può ad esempio inviare un messaggio di posta elettronica diverso per sette volte, ovvero uno per ogni giorno della settimana.

  • Creare gruppi di attività e contenitori che devono avere esito positivo o negativo come singola unità. Un pacchetto può ad esempio raggruppare attività che eliminano e aggiungono righe in una tabella di database e quindi eseguire il commit o il rollback di tutte le attività quando una di queste non riesce.

Tipi di contenitori

Integration Services offre quattro tipi di contenitori per la creazione dei pacchetti, elencati nella tabella seguente.

Contenitore Descrizione
Contenitore Ciclo Foreach Esegue ripetutamente un determinato flusso di controllo utilizzando un enumeratore.
Contenitore Ciclo For Esegue ripetutamente un determinato flusso di controllo verificando una condizione.
Contenitore Sequenza Raggruppa attività e contenitori in flussi di controllo che costituiscono subset del flusso di controllo del pacchetto.
Contenitore Host delle attività Fornisce servizi a una singola attività.

Anche i gestori dell'evento e i pacchetti sono tipi di contenitori. Per altre informazioni, vedere Pacchetti di Integration Services (SSIS) e Gestori eventi di Integration Services (SSIS).

Riepilogo delle proprietà dei contenitori

Tutti i tipi di contenitori dispongono di un set di proprietà comune. Se si creano pacchetti usando gli strumenti grafici offerti da Integration Services, per i contenitori Ciclo Foreach, Ciclo For e Sequenza vengono elencate nella finestra Proprietà le proprietà seguenti. Le proprietà dei contenitori host delle attività vengono configurate nell'ambito della configurazione dell'attività incapsulata nell'host. Le proprietà degli host delle attività vengono impostate quando si configura l'attività.

Proprietà Descrizione
DelayValidation Valore booleano che indica se la convalida del contenitore viene posticipata fino alla fase di esecuzione. Il valore predefinito di questa proprietà è False.

Per ulteriori informazioni, vedere DelayValidation.
Descrizione Descrizione del contenitore. La proprietà contiene una stringa, ma può essere vuota.

Per ulteriori informazioni, vedere Description.
Disabilita Valore booleano che indica se il contenitore verrà eseguito. Il valore predefinito di questa proprietà è False.

Per ulteriori informazioni, vedere Disable.
DisableEventHandlers Valore booleano che indica se i gestori di eventi associati al contenitore verranno eseguiti. Il valore predefinito di questa proprietà è False.
FailPackageOnFailure Valore booleano che specifica se il pacchetto deve essere interrotto in caso di errore nel contenitore. Il valore predefinito di questa proprietà è False.

Per ulteriori informazioni, vedere FailPackageOnFailure.
FailPackageOnFailure Valore booleano che specifica se il contenitore padre deve essere interrotto in caso di errore nel contenitore. Il valore predefinito di questa proprietà è False.

Per ulteriori informazioni, vedere FailParentOnFailure.
ForcedExecutionValue Se la proprietà ForceExecutionValue è impostata su True, rappresenta l'oggetto che contiene il valore di esecuzione facoltativo per il contenitore. Il valore predefinito di questa proprietà è 0.

Per ulteriori informazioni, vedere ForcedExecutionValue.
ForcedExecutionValueType Il tipo di dati ForcedExecutionValue. Il valore predefinito di questa proprietà è Int32.
ForceExecutionResult Valore che specifica il risultato forzato dell'esecuzione del pacchetto o del contenitore. I valori sono None, Success, Failuree Completion. Il valore predefinito di questa proprietà è None.

Per ulteriori informazioni, vedere ForceExecutionResult.
ForceExecutionValue Valore booleano che specifica se il valore di esecuzione facoltativo del contenitore deve essere forzato in modo da contenere un valore specifico. Il valore predefinito di questa proprietà è False.

Per ulteriori informazioni, vedere ForceExecutionValue.
ID GUID del contenitore, assegnato al momento della creazione del pacchetto. Questa proprietà è di sola lettura.

ID.
IsolationLevel Livello di isolamento della transazione del contenitore. I valori sono Unspecified, Chaos, ReadUncommitted, ReadCommitted, RepeatableRead, Serializablee Snapshot. Il valore predefinito di questa proprietà è Serializable. Per ulteriori informazioni, vedere IsolationLevel.
LocaleID Impostazioni locali Microsoft Win32. Il valore predefinito di questa proprietà è costituito dalle impostazioni locali del sistema operativo sul computer locale.

Per ulteriori informazioni, vedere LocaleID.
LoggingMode Valore che specifica il comportamento di registrazione del contenitore. I possibili valori sono Disabled, Enablede UseParentSetting. Il valore predefinito di questa proprietà è UseParentSetting. Per ulteriori informazioni, vedere DTSLoggingMode.
MaximumErrorCount Numero massimo di errori che possono verificarsi prima che l'esecuzione del contenitore venga arrestata. Il valore predefinito di questa proprietà è 1.

Per ulteriori informazioni, vedere MaximumErrorCount.
Nome Nome del contenitore.

Per ulteriori informazioni, vedere Name.
TransactionOption Supporto delle transazioni da parte del contenitore. I possibili valori sono NotSupported, Supportede Required. Il valore predefinito di questa proprietà è Supported. Per ulteriori informazioni, vedere DTSTransactionOption.

Per altre informazioni su tutte le proprietà disponibili per i contenitori Ciclo Foreach, Ciclo For, Sequenza e host delle attività durante la relativa configurazione a livello di codice, vedere gli argomenti relativi alle API di Integration Services seguenti:

  • T:Microsoft.SqlServer.Dts.Runtime.ForEachLoop

  • T:Microsoft.SqlServer.Dts.Runtime.ForLoop

  • T:Microsoft.SqlServer.Dts.Runtime.Sequence

  • T:Microsoft.SqlServer.Dts.Runtime.TaskHost

Oggetti che estendono le funzionalità dei contenitori

I contenitori includono flussi di controllo costituiti da eseguibili e vincoli di precedenza. Possono inoltre utilizzare variabili e gestori di eventi. Il contenitore Host attività costituisce un'eccezione perché, dal momento che incapsula una singola attività, non utilizza vincoli di precedenza.

Eseguibili

Il termine eseguibile si riferisce alle attività a livello di contenitore e a qualsiasi contenitore all'interno del contenitore in considerazione. Un eseguibile può essere costituito da uno dei contenitori e una delle attività disponibili in Integration Services oppure da un'attività personalizzata. Per altre informazioni, vedere Attività di Integration Services.

Vincoli di precedenza

I vincoli di precedenza collegano in un flusso di controllo ordinato i contenitori e le attività presenti in uno stesso contenitore padre. Per altre informazioni, vedere Vincoli di precedenza.

Gestori eventi

I gestori di eventi a livello di contenitore rispondono agli eventi generati dal contenitore o dagli altri oggetti inclusi al suo interno. Per altre informazioni, vedere Gestori eventi di Integration Services (SSIS).

Variabili

Nelle variabili usate nei contenitori sono incluse le variabili di sistema a livello di contenitore disponibili in Integration Services e le variabili definite dall'utente usate dal contenitore. Per altre informazioni, vedere Variabili di Integration Services (SSIS).

Punti di interruzione

Quando si imposta un punto di interruzione in un contenitore e la condizione di interruzione è Interrompi quando il contenitore riceve l'evento OnVariableValueChanged, definire la variabile nell'ambito del contenitore.

Vedi anche

Flusso di controllo