Integration Services (SSIS) 參數可讓您在封裝執行時將值指派給封裝內的屬性。 您可以在專案層級建立 項目參數 ,並在封裝層級建立 封裝參數 。 項目參數可用來提供專案接收給專案中一或多個套件的任何外部輸入。 套件參數可讓您修改套件執行,而不需要編輯和重新部署封裝。
在 SQL Server Data Tools 中,您可以使用 Project.params 視窗來建立、修改或刪除項目參數。 您可以使用 SSIS 設計工具中的 [ 參數 ] 索引標籤來建立、修改和刪除封裝參數。 您可以使用 [ 參數化 ] 對話框,將新的或現有的參數與工作屬性產生關聯。 如需使用 Project.params 視窗和 [ 參數 ] 索引標籤的詳細資訊,請參閱 建立參數。 如需 參數化 對話框的詳細資訊,請參閱 參數化對話方塊。
參數和套件部署模型
一般而言,如果您使用套件部署模型部署套件,則應該使用組態,而不是參數。
當您使用封裝部署模型部署包含參數的封裝,然後執行封裝時,不會在執行期間呼叫參數。 如果封裝包含封裝參數,並且封裝中的表達式使用了這些參數,那麼在運行時就會套用計算出的值。 如果封裝包含項目參數,封裝執行可能會失敗。
參數和專案部署模型
當您將專案部署至 Integration Services 伺服器時,您可以使用檢視、預存程式和 SQL Server Management Studio UI 來管理專案和封裝參數。 如需詳細資訊,請參閱下列主題。
參數值
您可以將最多三種不同類型的值指派給參數。 啟動封裝執行時,會針對 參數使用單一值,並將 參數解析為其最終常值。
下表列出值的類型。
| 數值名稱 | 說明 | 值類型 |
|---|---|---|
| 執行值 | 指派給封裝執行特定實例的值。 此指派會覆寫所有其他值,但僅適用於封裝執行的單一實例。 | 字面意義 |
| 伺服器值 | 專案部署至 Integration Services 伺服器後,專案範圍內參數被指派的值。 此值會覆寫設計預設值。 | 字面值或環境變數參考 |
| 設計值 | 在 SQL Server Data Tools 中建立或編輯專案時,指派給 參數的值。 這個值會持續在專案中存在。 | 字面意義 |
您可以使用單一參數將值指派給多個封裝屬性。 單一封裝屬性只能從單一參數指派值。
執行與參數值
執行是物件,表示封裝執行的單一實例。 當您建立執行時,您可以指定執行封裝所需的所有詳細數據,例如執行參數值。 您也可以修改現有執行的參數值。
當您明確設定執行參數值時,該值只適用於該特定執行實例。 會使用執行值,而不是伺服器值或設計值。 如果您未明確設定執行值,而且已指定伺服器值,則會使用伺服器值。
當參數標示為必要時,必須為該參數指定伺服器值或執行值。 否則,對應的封裝不會執行。 雖然參數在設計時間有預設值,但一旦部署專案,就永遠不會使用它。
環境變數
如果參數參考環境變數,該變數的常值會透過指定的環境參考解析並套用至 參數。 用於封裝執行的最終常值參數值稱為執行參數值。 您可以使用 [ 執行 ] 對話框來指定執行的環境參考
如果項目參數參考環境變數,且在執行時無法解析變數的常值,則會使用設計值。 該伺服器值未被使用。
若要檢視指派給參數值的環境變數,請查詢catalog.object_parameters檢視。 如需詳細資訊,請參閱 catalog.object_parameters (SSISDB 資料庫) 。
判斷執行參數值
下列 Transact-SQL 檢視和預存程式可用來顯示和設定參數值。
catalog.execution_parameter_values(SSISDB 資料庫)(檢視)
顯示特定執行將使用的實際參數值
catalog.get_parameter_values (SSISDB 資料庫) (預存程式)
解析並顯示指定封裝和環境參考的實際值
catalog.object_parameters (SSISDB 資料庫) (檢視)
顯示 Integration Services 目錄中所有封裝和項目的參數和屬性,包括設計預設值和伺服器預設值。
catalog.set_execution_parameter_value (SSISDB 資料庫)
為 Integration Services 目錄中執行之執行個體設定參數值。
您也可以在 SQL Server Data Tools (SSDT) 中使用 [ 執行封裝 ] 對話方塊來修改參數值。 如需詳細資訊,請參閱 執行封裝對話方塊。
您也可以使用 dtexec /Parameter 選項來修改參數值。 如需詳細資訊,請參閱 dtexec Utility。
參數驗證
如果無法解析參數值,對應的封裝執行將會失敗。 若要協助避免失敗,您可以使用 SQL Server Data Tools (SSDT) 中的 [ 驗證 ] 對話框來驗證專案和套件。 驗證可讓您確認所有參數是否具有必要的值,或能透過特定環境參考解決必要的值。 驗證也會檢查其他常見的套件問題。
如需詳細資訊,請參閱 驗證對話方塊。
參數範例
此範例描述名為 pkgOptions 的參數 ,用來指定其所在封裝的選項。
在設計時間,在 SQL Server Data Tools 中建立 參數時,會將預設值 1 指派給 參數。 這個預設值稱為設計預設值。 如果專案已部署至 SSISDB 目錄,且未指派任何其他值給此參數,則對應至 pkgOptions 參數的 封裝屬性會在封裝執行期間指派值 1。 設計預設值會在整個生命週期中與專案一起保存。
準備封裝執行的特定實例時,會將值 5 指派給 pkgOptions 參數。 這個值稱為執行值,因為它只適用於該特定執行實例的參數。 當執行開始時,對應至 pkgOptions 參數的 封裝屬性會指派 5 的值。
相關工作
相關內容
部落格文章 SSIS 快速提示:必要參數,mattmasson.com。