Variabili di sistema

Si applica a: sìSQL Server (tutte le versioni supportate) sì SSIS Integration Runtime in Azure Data Factory

SQL Server Integration 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.

È possibile usare tutte le variabili, di sistema e definite dall'utente, nelle associazioni di parametro usate dall'attività Esegui SQL per il mapping delle variabili ai 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 arrestata.
ContainerStartTime Datetime Ora di inizio del contenitore.
CreationDate Datetime Data di creazione del pacchetto.
CreatorComputerName string Computer in cui è stato creato il pacchetto.
CreatorName string Nome dell'utente che ha compilato il pacchetto.
ExecutionInstanceGUID string Identificatore univoco dell'istanza di esecuzione di un pacchetto.
FailedConfigurations string Nomi di configurazioni di pacchetti non riuscite.
IgnoreConfigurationsOnLoad Boolean Indica se le configurazioni di pacchetti vengono ignorate in fase di caricamento del 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 con l'utilità del prompt dei comandi 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à offline. La modalità offline 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.
ServerExecutionID Int64 ID dell'esecuzione per il pacchetto eseguito nel server Integration Services .

Il valore predefinito è zero. Il valore viene modificato solo se il pacchetto viene eseguito da ISServerExec sul server Integration Services . Quando è presente un pacchetto figlio, il valore viene passato dal pacchetto padre a quello figlio.
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

La tabella seguente descrive 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

Sequenza - contenitore

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
Annulla Boolean Indica se l'esecuzione del gestore di evento viene arrestata 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.

Nota: 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.
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

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 usata 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 è stato eseguito il mapping.

Mapping di parametri di query a variabili in un'attività Esegui SQL