Variabili di sistema

SQL ServerIntegration Services include un set di variabili di sistema in cui vengono archiviate informazioni sui pacchetti in esecuzione e sui relativi oggetti. Tali variabili possono essere utilizzate nelle espressioni e nelle espressioni di proprietà per personalizzare pacchetti, contenitori, attività e gestori di eventi.

Tutte le variabili, di sistema e definite dall'utente, possono essere utilizzate nelle associazioni di parametro utilizzate dall'attività Esegui SQL per mappare variabili a parametri.

Variabili di sistema per i pacchetti

Nella tabella seguente vengono descritte le variabili di sistema disponibili in Integration Services per i pacchetti.

Variabile di sistema

Tipo di dati

Descrizione

CancelEvent

Int32

Handle di un oggetto Eventi di Windows che l'attività può segnalare per indicare che l'attività deve essere interrotta.

CreationDate

DateTime

Data di creazione del pacchetto.

CreatorComputerName

String

Computer in cui è stato creato il pacchetto.

CreatorName

String

Nome dell'utente che ha creato il pacchetto.

ExecutionInstanceGUID

String

Identificatore univoco dell'istanza di esecuzione di un pacchetto.

InteractiveMode

Boolean

Indica se il pacchetto viene eseguito in modalità interattiva. Se un pacchetto viene eseguito in Progettazione SSIS, questa proprietà viene impostata su True. Se un pacchetto viene eseguito tramite l'utilità della riga di comando DTExec, la proprietà viene impostata su False.

LocaleId

Int32

Impostazioni locali utilizzate dal pacchetto.

MachineName

String

Nome del computer in cui viene eseguito il pacchetto.

OfflineMode

Boolean

Indica se il pacchetto è in modalità non in linea. La modalità non in linea non acquisisce connessioni a origini dei dati.

PackageID

String

Identificatore univoco del pacchetto.

PackageName

String

Nome del pacchetto.

StartTime

DateTime

Data e ora di inizio dell'esecuzione del pacchetto.

UserName

String

Nome dell'account dell'utente che ha avviato il pacchetto. Il nome utente è qualificato dal nome del dominio.

VersionBuild

Int32

Versione del pacchetto.

VersionComment

String

Commenti sulla versione del pacchetto.

VersionGUID

String

Identificatore univoco della versione.

VersionMajor

Int32

Versione principale del pacchetto.

VersionMinor

Int32

Versione secondaria del pacchetto.

Variabili di sistema per i contenitori

Nella tabella seguente vengono descritte le variabili di sistema disponibili in Integration Services per i contenitori Ciclo For, Ciclo Foreach e Sequenza.

Variabile di sistema

Tipo di dati

Descrizione

Contenitore

LocaleId

Int32

Impostazioni locali utilizzate dal contenitore.

Contenitore Ciclo For

Contenitore Ciclo Foreach

Contenitore Sequenza

Variabili di sistema per le attività

Nella tabella seguente vengono descritte le variabili di sistema disponibili in Integration Services per le attività.

Variabile di sistema

Tipo di dati

Descrizione

CreationName

String

Nome dell'attività.

LocaleId

Int32

Impostazioni locali utilizzate dall'attività.

TaskID

String

Identificativo univoco di un'istanza dell'attività.

TaskName

String

Nome dell'istanza dell'attività.

TaskTransactionOption

Int32

Opzioni di transazione utilizzate dall'attività.

Variabili di sistema per i gestori di eventi

Nella tabella seguente vengono descritte le variabili di sistema disponibili in Integration Services per i gestori di eventi. Non tutte le variabili sono disponibili per tutti i gestori di eventi.

Variabile di sistema

Tipo di dati

Descrizione

Gestore di evento

Cancel

Boolean

Indica se l'esecuzione del gestore di evento viene interrotta in caso di errore, avviso o annullamento della query.

Gestore dell'evento OnError

Gestore dell'evento OnWarning

Gestore dell'evento OnQueryCancel

ErrorCode

Int32

Identificatore dell'errore.

Gestore dell'evento OnError

Gestore dell'evento OnInformation

Gestore dell'evento OnWarning

ErrorDescription

String

Descrizione dell'errore.

Gestore dell'evento OnError

Gestore dell'evento OnInformation

Gestore dell'evento OnWarning

ExecutionStatus

Boolean

Stato di esecuzione corrente.

Gestore dell'evento OnExecStatusChanged

ExecutionValue

DBNull

Valore di esecuzione.

Gestore dell'evento OnTaskFailed

LocaleId

Int32

Impostazioni locali utilizzate dal gestore di evento.

Tutti i gestori di eventi

PercentComplete

Int32

Percentuale di avanzamento dell'operazione.

Gestore dell'evento OnProgress

ProgressCountHigh

Int32

Parte più significativa di un valore a 64 bit che indica il numero totale delle operazioni elaborate dall'evento OnProgress.

Gestore dell'evento OnProgress

ProgressCountLow

Int32

Parte meno significativa di un valore a 64 bit che indica il numero totale delle operazioni elaborate dall'evento OnProgress.

Gestore dell'evento OnProgress

ProgressDescription

String

Descrizione dell'avanzamento.

Gestore dell'evento OnProgress

Propagate

Boolean

Indica se l'evento viene propagato a un gestore di evento di livello superiore.

NotaNota
Il valore della variabile Propagate viene ignorato durante la convalida del pacchetto. Se si imposta Propagate su False in un pacchetto figlio, ciò non impedisce la propagazione di un evento fino al pacchetto padre. Per impedire la gestione dell'evento da parte del pacchetto padre, impostare la proprietà DisableEventHandlers dell'attività Esegui pacchetto su True.

Tutti i gestori di eventi

SourceDescription

String

Descrizione dell'eseguibile nel gestore di evento che ha generato l'evento.

Tutti i gestori di eventi

SourceID

String

Identificatore univoco dell'eseguibile nel gestore di evento che ha generato l'evento.

Tutti i gestori di eventi

SourceName

String

Nome dell'eseguibile nel gestore di evento che ha generato l'evento.

Tutti i gestori di eventi

VariableDescription

String

Descrizione della variabile.

Gestore dell'evento OnVariableValueChanged

VariableID

String

Identificatore univoco della variabile.

Gestore dell'evento OnVariableValueChanged

Utilizzo di variabili di sistema nelle associazioni di parametro

È spesso consigliabile salvare in tabelle i valori delle variabili di sistema dopo l'esecuzione di un pacchetto. Si consideri ad esempio un pacchetto che crea dinamicamente una tabella e scrive in una colonna della tabella il GUID dell'istanza di esecuzione del pacchetto che ha creato la tabella.

Se si utilizzano variabili di sistema per eseguire il mapping dei parametri inclusi nell'istruzione SQL utilizzata da un'attività Esegui SQL, è importante impostare il tipo di dati di ogni associazione di parametro sul tipo di dati della variabile di sistema. In caso contrario i valori delle variabili di sistema potrebbero essere convertiti in modo errato. Se ad esempio la variabile di sistema ExecutionInstanceGUID, che ha tipo di dati string e contiene una stringa che rappresenta il GUID dell'istanza in esecuzione di un pacchetto, viene utilizzata nell'associazione di un parametro con tipo di dati GUID, il GUID dell'istanza del pacchetto non verrà convertito correttamente.

Questa regola vale anche per le variabili definite dall'utente ma, mentre i tipi di dati delle variabili di sistema non possono essere modificati ed è necessario adattare l'utilizzo di tali variabili in base ai relativi tipi di dati, le variabili definite dall'utente sono molto più flessibili. Le variabili definite dall'utente utilizzate nelle associazioni di parametro vengono in genere definite con tipi di dati compatibili con quelli dei parametri a cui sono mappate.

Icona di Integration Services (piccola) Rimanere aggiornati con Integration Services

Per informazioni sui download, gli articoli, gli esempi e i video Microsoft più recenti, nonché sulle soluzioni selezionate dalla community, visitare la pagina Integration Services su MSDN o Technet:

Per ricevere notifiche automatiche su questi aggiornamenti, sottoscrivere i feed RSS disponibili nella pagina.