SSIS的部署和配置


參考:
http://www.cnblogs.com/JasonLiao/p/SSISDeploy.html
https://msdn.microsoft.com/en-us/library/ms140117%28v=sql.105%29.aspx
http://stackoverflow.com/questions/21555086/how-to-deploy-a-existing-ssis-package-in-sql-server-2012
https://www.sqlshack.com/single-package-deployment-in-sql-server-integration-services-2016/

 

SSIS有兩種部署模型:項目部署模型包部署模型,主要是將"項目"和"單獨的包"分別部署到Integration Service服務器上。

項目部署模型:項目是部署單元
  部署到SQL Server的 Integration Services Catalogs下的SSISDB中,需要先創建SSISDB
  在VS中,右鍵項目--deploy (或者雙擊SSIS工程目錄下--bin\Development\.ispac文件)
  然后彈出"部署向導",選擇.ispac文件,選擇部署的SQLServer目的地(實例名和SSISDB的路徑)
  部署之后,可以右鍵包名,配置包運行時的參數,然后運行
  查看運行結果,reports--All Execution

包部署模型:包是部署單元, 日志提供程序必須添加到包以便捕獲事件,包生成的事件不自動捕獲
  文件系統:包被存儲在你選擇的文件夾內;
  SSIS包存儲:包被保存到SSIS服務管理的一套文件系統表中,位於\Program Files\Microsoft SQL Server\100\DTS for SQL Server 2008文件夾下;
  MSDB數據庫:包被存儲在dbo.sysssispackages 表中

 

包部署模型中的四種主要的部署方式:

  • 傳統方式
  • 手動方式
  • 命令方式
  • 實用方式

分別詳細描述一下各種方式.

傳統方式

    使用內置的部署方法來發布包到服務器上:首先,SSISDeploymentManifest(SSIS項目),這是一個用來描述哪些包需要被部署到服務器的基礎信息的XML。如果雙擊項目,一個向導將會協助你發布包到服務器。

按照以下步驟創建即可:

  1. 右擊項目選擇屬性。在配置屬性中,選擇部署(Deployment Utility)。設定CreateDeploymentUtility 屬性為True。能看到如下圖1所示。
  2. 右擊項目(project ),然后點擊生成(Build)。將會創建清單中的內容到配置的文件夾里然后將所有的包復制到文件夾中。

  3. 在部署文件中, 默認(.\bin\Deployment),然后雙擊ISDM文件進入部署向導。

  4. 按照部署向導來部署你的文件,

1

圖1

 

手動方式

對於能夠遠程控制服務器的人來說(DBA…),可以手動做任何事情:比如手動部署包。

  1. 使用Management Studio 登陸SSIS服務瀏覽你打算部署的文件夾。
  2. 右鍵文件夾並選擇“導入包”。
  3. 在對話框中指定包的地址,然后點擊ok

對於喜歡在BIDS處理的人來說可以如下處理:

  1. 打開包。在菜單中,找到文件並且選擇另存為"Save Copy of [myPackage.dtsx] As" 如下圖2所示 。
  2. Hit OK. 在對話框中選擇目的位置,並且選擇包需要被部署的位置。點擊Ok

2

圖2

命令方式

如果你是那些十分熱愛命令行的家伙,那么也可以直接使用命令行部署包。典型的CMD line 如下:

dtutil /FILE “C:\myPackages\myPackage.dtsx” /DestServer myServer /Copy SQL;myPackage

注意:目的包名稱中沒有.dtsx 擴展名。

實用方式

    最后介紹一下我最為喜歡的部署包到服務器的方式(使用BIDS Helper)。一個免費的插件。這個小小的插件引入了大量的功能到BIDS中,其中最為有價值的對於我們來說就是簡化部署功能。

  1. 首先你需要配置部署屬性,右擊項目然后選擇屬性(Properties)。在配置屬性中,選擇部署(Deploy --BIDS Helper),選擇你喜歡目標類型,然后配置路徑,如圖3所示。
  2. 現在你可以在解決方案瀏覽器中只是右擊包然后選擇“部署(Deploy)”來部署一個包了。

3

圖 3

最大的優勢就是無論多少個文件都能一次性部署:只需要右鍵你的項目,然后選擇部署。所有的包都會被部署。

 

PS:

在VS的"解決方案"中,可以創建project level的Connection Manager和Parameters

在SQL Server2016和SSDT 2015發布后,可以在VS中右鍵單擊包名,單獨部署一個包(或者按ctrl選擇多個包一起部署)。
在SSDT 2015中,可以用ISDeploymentWizard.exe (Microsoft SQL Server\120\DTS\Binn目錄下)進行包部署和項目部署的選擇

 

 

 

包的動態配置 (單個包的配置)---需要把項目從"項目部署模式"轉換為"包部署模式"

SSIS包的動態配置:
  在運行時更新屬性值來運行包,開發時設置的屬性起調試作用
  比如使用配置,您可以更改連接管理器的連接字符串,或者更新變量的值
  配置可以使包更加靈活
  可以更輕松地將包從開發環境轉移到生產環境中; 將包部署到多台不同的服務器時,配置非常有用

SSIS中5種不同的配置存儲,顧名思義就是設置在包上,SSIS Menu---Package Configuration

  1) XML configuration file
  2) Environment variable
  3) Registry entry
  4) Parent package variable
  5) SQL Server

https://msdn.microsoft.com/zh-cn/library/cc895212.aspx

包的動態配置 (批量的包配置)

希望在包執行的時候可以隨意選擇參數,這時候我們可以用環境變量
  1) 以配置connection manager為例,右鍵--parameterize, 可以在第三個tab界面的parameters中看到
  2) 確保包執行成功,然后部署到SQL Server上的Integration Services Catalogs
  3) 創建環境變量,並在variables中設置環境變量。
      在projects下的Environments中,右鍵--"Create Environment"
    使用環境變量
      右鍵projects下已經發布的項目,“configure”--在parameters中,選用上一步創建的環境變量
     執行包並選擇綁定的環境變量
      選中packages下的包,右鍵"Execute",勾選"環境變量"然后執行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM