系統變數

適用於:SQL Server Azure Data Factory 中的 SSIS Integration Runtime

SQL Server Integration Services 會提供一組系統變數來儲存執行套件及其物件的資訊。 這些變數可以用於運算式及屬性運算式,以自訂封裝、容器、工作及事件處理常式。

所有的變數 (系統變數和使用者自訂變數) 都可在「執行 SQL」工作用來將變數對應至參數的參數繫結中使用。

封裝的系統變數

下列資料表描述 Integration Services 為套件所提供的系統變數。

系統變數 資料類型 描述
CancelEvent Int32 [Windows 事件] 物件的控制代碼,可以讓工作發出信號以指出該工作應該停止執行。
ContainerStartTime Datetime 容器的開始時間。
CreationDate Datetime 建立封裝的日期。
CreatorComputerName String 建立封裝的電腦。
CreatorName String 建立封裝之人員的姓名。
ExecutionInstanceGUID String 執行封裝之執行個體的唯一識別碼。
FailedConfigurations String 失敗的封裝組態名稱。
IgnoreConfigurationsOnLoad Boolean 指出載入封裝時是否忽略封裝組態。
InteractiveMode Boolean 指示封裝是否以互動模式執行。 若套件在 [SSIS Designer] 中執行,則此屬性設定為 [True]。 如果封裝是使用 DTExec 命令提示字元公用程式來執行,則此屬性設為 [False]
LocaleId Int32 封裝使用的地區設定。
MachineName String 執行封裝之電腦的名稱。
OfflineMode Boolean 指出封裝是否處於離線模式。 離線模式不會取得與資料來源的連接。
PackageID String 封裝的唯一識別碼。
PackageName String 封裝的名稱。
StartTime Datetime 封裝開始執行的時間。
ServerExecutionID Int64 在 Integration Services 伺服器上所執行套件的執行識別碼。

預設值為零。 只有當 ISServerExec 在 Integration Services 伺服器上執行套件時,才會變更此值。 有子封裝時,此值會從父封裝傳遞至子封裝。
使用者名稱 String 啟動封裝之使用者的帳戶。 使用者名稱必須以網域名稱來限定。
VersionBuild Int32 封裝版本。
VersionComment String 有關封裝版本的註解。
VersionGUID String 版本的唯一識別碼。
VersionMajor Int32 封裝的主要版本。
VersionMinor Int32 封裝的次要版本。

容器的系統變數

下列資料表描述 Integration Services 為 For 迴圈、Foreach 迴圈及時序容器所提供的系統變數。

系統變數 資料類型 描述 容器
LocaleId Int32 容器使用的地區設定。 For 迴圈容器

Foreach 迴圈容器

時序容器

工作的系統變數

下列資料表描述 Integration Services 為工作所提供的系統變數。

系統變數 資料類型 描述
CreationName String 工作的名稱。
LocaleId Int32 工作使用的地區設定。
TaskID String 工作執行個體的唯一識別碼。
TaskName String 工作執行個體的名稱。
TaskTransactionOption Int32 工作使用的交易選項。

事件處理常式的系統變數

下列資料表描述 Integration Services 為事件處理常式所提供的系統變數。 並非所有變數都可用於所有事件處理常式。

系統變數 資料類型 描述 事件處理常式
取消 Boolean 指示當發生錯誤、警告或查詢取消時,事件處理常式是否停止執行。 OnError 事件處理常式

OnWarning 事件處理常式

OnQueryCancel 事件處理常式
ErrorCode Int32 錯誤識別碼。 OnError 事件處理常式

OnInformation 事件處理常式

OnWarning 事件處理常式
ErrorDescription String 錯誤的描述。 OnError 事件處理常式

OnInformation 事件處理常式

OnWarning 事件處理常式
ExecutionStatus Boolean 目前執行狀態。 OnExecStatusChanged 事件處理常式
ExecutionValue DBNull 執行值。 OnTaskFailed 事件處理常式
LocaleId Int32 事件處理常式使用的地區設定。 所有事件處理常式
PercentComplete Int32 已完成工作的百分比。 OnProgress 事件處理常式
ProgressCountHigh Int32 64 位元值的較高部份,指示 OnProgress 事件處理的作業總數。 OnProgress 事件處理常式
ProgressCountLow Int32 64 位元值的較低部份,指示 OnProgress 事件處理的作業總數。 OnProgress 事件處理常式
ProgressDescription String 進度的描述。 OnProgress 事件處理常式
Propagate Boolean 指示是否將事件傳播至較高層級的事件處理常式。

注意:驗證封裝期間,會忽略 Propagate 變數的值。 如果您在子封裝中,將 Propagate 設為 [False],這就無法防止事件向上擴展到父封裝。
所有事件處理常式
SourceDescription String 事件處理常式中引發事件之可執行檔的描述。 所有事件處理常式
SourceID String 事件處理常式中引發事件之可執行檔的唯一識別碼。 所有事件處理常式
SourceName String 事件處理常式中引發事件之可執行檔的名稱。 所有事件處理常式
VariableDescription String 變數描述。 OnVariableValueChanged 事件處理常式
VariableID String 變數的唯一識別碼。 OnVariableValueChanged 事件處理常式

參數繫結中的系統變數

執行封裝時,將系統變數的值儲存在資料表中通常很有幫助。 例如,動態建立資料表並在資料表資料行中寫入建立資料表之封裝執行個體 GUID 的封裝。

如果使用系統變數對應至「執行 SQL」工作使用之 SQL 陳述式中的參數,您就必須將每個參數繫結的資料類型設定為系統變數的資料類型。 否則,系統變數值的翻譯可能會出錯。 例如,如果在具有 GUID 資料類型的參數繫結中使用 ExecutionInstanceGUID 系統變數,而此系統變數具有字串資料類型並包含代表封裝執行個體之 GUID 的字串,封裝執行個體 GUID 的翻譯便會出錯。

此規則也適用於使用者自訂變數。 但是,由於系統變數的資料類型無法變更,而且您必須修改這些變數的用法以符合其資料類型,因此使用者自訂變數比較有彈性。 參數繫結中使用之使用者自訂變數所定義的資料類型,通常與其對應參數的資料類型相容。

在執行 SQL 工作中將查詢參數對應至變數