2014年1月9日 星期四

封裝部署

SSISDB Catalog

當封裝設計好之後,你可以將含有那些封裝的專案部署到 SSIS Server 上。

在舊版的 SQL Server 中,封裝必須匯入到 SSIS Servie 的檔案系統MSDB系統資料庫中。 在 SQL Server 2012 中,除了原先的模式之外,更引進了全新的 SSISDB Catalog 機制,專門用來存放封裝部署的相關資訊(metadata)。 例如專案、封裝、參數、環境和作業記錄都會包含在 SSISDB 目錄中。

建立 SSISDB

將將封裝專案部署至 SSIS Server 之前,必須先確認 SSISDB 目錄是否已存在,如果不存在則必須先建立 SSISDB 目錄。 建立 SSISDB 目錄,實際上 SSIS Server 會在 SQL Server 上掛載一個 SSISDB 資料庫,專門用來儲存封裝、專案、參數、權限、伺服器屬性與作業歷程記錄等物件。

1.建立 [Integration Services 目錄]

2.設定目錄選項

PS. Enable CLR Integration

CLR must be enabled on the SQL Server instance to create and use the SSISDB catalog. CLR integration allows a SQL Server instance to use user assemblies, such as userdefined SQL CLR types, user-defined SQL CLR functions, SQL CLR procedures, or triggers. CLR integration is disabled by default.

If you restored the SSISDB catalog to a new SQL Server , you can enable the ClrIntegrationEnabled option in Surface Area Configuration property.

3.輸入密碼。完成後你就可以看到如下畫

SSISDB 目錄

SSISDB 資料庫

設定 SSISDB

你可以在 SSISDB 的屬性功能中,看到以下資訊。你也可以使用 catalog.catalog_properties 系統檢視來查詢這資訊。

這些屬性值,你可以直接在屬性頁中修改,或者透過系統預存程序 catalog.configure_catalog 來處理。

關於這些屬性值,有幾點要注意:

  • 「加密演算法」只能透過預存程序來變更,且必須在「single-uer mode」模式底下。
  • 「清除記錄檔」的作業是由 SQL Server Agent 的工作負責執行,預設是每日執行一次。

SSISDB Object

當你建立 SSISDB 目錄後,系統會自動建立 SSISDB 資料庫,用來儲存封裝部署後的相關資料。

當 SSIS 專案或封裝被部署到 SSIS Server 之後,其相關資料會被存放在以下物件之中。

Folders

  • When SSIS projects are deployed to the SSISDB Catalog, they are placed in folders.
  • a common security context
SELECT * FROM catalog.folders;

Projects and Packages

SELECT * FROM catalog.projects;
SELECT * FROM catalog.packages;

Parameters

您在封裝執行時,可使用參數將值指派給封裝屬性。

SELECT * FROM catalog.object_parameters
SELECT * FROM catalog.execution_parameter_values

  • catalog.object_parameters :顯示所有封裝和專案的參數
  • catalog.execution_parameter_values :顯示用於執行執行個體的參數值。
  • catalog.set_object_parameter_value :設定封裝或專案的參數值
  • catalog.clear_object_parameter_value :清除封裝或專案的參數值
  • catalog.set_execution_parameter_value :To set the value of a parameter for an instance of execution
  • catalog.get_parameter_values :擷取預設參數值。

Server Variables, Server Environments, Server Environment References

Parameter values can be assigned directly, but they can also refer to environment variables that are defined and stored in the SSISDB Catalog.

SELECT * FROM catalog.environments;                 /*已設定的環境*/
SELECT * FROM catalog.environment_variables;        /*環境中的變數*/
SELECT * FROM catalog.environment_references;       /*專案參考到環境*/

若要建立環境參考,你也可以直接使用 catalog.create_environment_reference 預存程序。

作業(Operations)

Operations represent actions performed against the SSISDB Catalog (deployments and catalog-level configurations) and against SSISDB projects and packages (validations and executions).

Operations are created when an SSIS process is prepared for execution. As operations are created, information about their creation is written to the SSISDB Catalog and is accessible through the catalog.operations catalog view.

SELECT * FROM catalog.operations;

Execution and Validation

Execution 物件指的就是一個封裝執行時的執行個體

  • catalog.create_execution :建立執行
  • catalog.start_execution :啟動執行
  • catalog.stop_operation :停止執行

Deployment

SSIS 部署,就是將 package 由開發環境移到線上環境,SSIS 支援兩種部署模型:

  • 專案部署模型(project deployment model):透過「專案部署精靈」將 SSIS 專案部署到 SSISDB 目錄。
  • 封裝部署模型(package deployment model):將封裝檔案安裝到 Integration Service 伺服器的檔案系統或 SQL Server 的執行個體。

專案部署

  • 舊版的 SSIS package 無法直接部署到 SSIS Server。必需先使用 SSIS Project Conversion Wizard 轉換成 SSIS 專案,才可以部署到 SSIS Server。
  • 專案部署模型的中心是一個專案部署檔案 (副檔名 .ispac)。 如果專案中設定了多個組建組態(Build Configuration),在建置專案之後,每個組建組態都會產生一個專案部署檔案。 每個專案部署檔案都是一個獨立的 (self-contained) 部署單位,包含該專案的封裝、參數、連接等相關資訊。 當 SSIS 專案被部署到 SSIS Server ,實際上也就是部署到 SQL Server 執行個體上的 SSISDB 目錄。
  • 專案部署是透過「專案部署精靈(SSIS Deployment Wizard)」來進行部署。你有以下方式可以叫起這個功能:
    • 由 SSDT 開發環境,直接叫用部署功能。

    • 由 SSM 中,在 SSISDB 目錄中,執行部署功能。

    • 直接執行建置後的專案部署檔案 (副檔名 .ispac)。

在 SSTD 中使用精靈部署 SSIS 專案

在 SSTD 中,你只要開啟專案之後,在其右鍵選單中執行「部署」就可開啟部署精靈。

專案部署精靈共有四個步驟,一步一步設定即可。

完成設定後,會看到如下的結果:

在 SSMS 中部署 SSIS 專案

若要由 SSMS 中部署 SSIS 專案,你必需先建置該專案,然後在專案的 /bin 目錄中找到建置子的封裝檔(.ispac)。

在 SSMS 中,由[目錄]的[專案]節點的右鍵選單,執行「部署專案」就可開啟部署精靈。

封裝部署

不管是舊版或新版的封裝,你都還可以採用封裝部署模型,將封裝部署到 Integration Service 伺服器的檔案系統,或者儲存至 SQL Server 執行個體上的 MSDB 資料庫。

封裝部署處理有四個步驟:

1. 建立封裝組態

這步驟是選擇性的,若不使用就不用建立

更多相關內容請參考 MSDN:建立封裝組態

2. 建立封裝部署公用程式

「建立封裝部署公用程式」就是透過「建置(build)」,產生部署封裝所需的檔案。

不過在建置之前,你必須先將 [CreateDeploymentUtility] 選項設為 True。

建置結束,你可以在輸出視窗中,看到建置結果。

最後,你可以在指定的輸出路徑中,查看建置完成的檔案。

更多相關內容請參考 MSDN:建立封裝部署公用程式

3. 複製封裝檔案

這步驟主要就是將步驟2建置的檔案複製到 SSIS 目標電腦。

4. 封裝安裝

要安裝 package ,你必須在 SSIS 目標電腦上,執行 [封裝安裝精靈],就可以將 package 安裝到 Integration Service 伺服器上的檔案系統或 SQL Server 的執行個體。。

更多相關內容請參考 MSDN:封裝安裝

沒有留言:

張貼留言