一步一步部署SSIS包圖解教程


本文就SQL統計分析SSIS包的部署進行一次詳細的部署圖解教程,Sql Server Integration Services 提供了非常簡單的部署工具,利用這些工具可以方便地將包文件(*.dtsx)、包配置文件(*.dtsconfig)以及包的其它相關文件,打包成一個安裝文件,以利於到其它計算機安裝與部署。

下面我們以前面介紹的DEPJ1200 為例,來詳細介紹包部署的完整過程。

(-)生成安裝部署文件。

   在SQL Server Business Intelligence Development Studio的資源管理器中,右擊DEPJ1200 -->[屬性],打開[ 屬性頁],在左邊的[配置屬性]樹中,選擇[部署實用工具],右邊就會顯示出[部署實用工具]需要配置的屬性,如圖:

AllowConfigurationChanges:設定在安裝的時候,包配置文件中的屬性是否允許修改。True/可修改;False/不可以修改。其安裝界面的效果,稍后將會看到。

CreateDeploymentUtility:決定是否創建安裝部署文件。

DeploymentOutputPath:設定安裝部署文件存放的位置。

按照如圖所示設置各屬性,點擊[確定],返回到主界面。 在[生成]菜單上,單擊[生成],就這么簡單,安裝部署文件就生成了。

我們回到上圖設置的部署文件路徑,就會看到所有生成的部署文件。

其中,DEPJ1200.SSISDeploymentManifest,就是我們的安裝文件了。

(二)包部署。

將上圖Deployment 文件夾下的所有文件,Copy 到目標服務器上,雙擊DEPJ1200.SSISDeploymentManifest,就會彈出包的安裝向導,如圖:

 

SSIS包一般有兩種部署方式:部署到文件系統和部署到Sql Server。這兩種方式,各有特點。部署到文件系統,操作會更簡單,配置修改也比較容易。而部署到

Sql Server ,其安全性會更高。在包的執行與調度方面,沒有什么差異。此例中,我們選擇[部署到文件系統],[下一步] ,如圖:

 選擇配置文件,下面的列表框,將顯示配置文件的所有屬性。如果在[屬性頁]界面中,設置AllowConfigurationChanges=true,則這些屬性,在此處就可以修改,否則就不可以在此修改,而只有等安裝完成后,再到安裝文件夾下,對配置文件進行修改了。

[下一步],再單擊[確定],部署就完成了。轉到安裝文件夾,找到SSIS包文件,雙擊,就可以出現如圖所示的運行界面了。

默認情況下,點擊[執行]就可以運行了。(左邊導航欄每一項的配置,網上的介紹已經很多了,Google、Baidu一下,應用盡有,我這里也就不羅嗦了。)

     這種方式,也就是Sql Server Integration Services 提供的一個實用工具“DTExecUI.exe”。除此之外,還用另外一個實用工具“DTExec.exe”,這兩個工具,在功能方面完全一樣,沒有什么 差異,只是前者有UI界面,明確地告訴了你,每一步怎么操作。后者沒有UI界面,所有的配置信息,都需要通過命令參數傳入,這種方式,比較適合通過 Windows 計划任務、Windows Service、Sql Server Agent 等方式自動執行SSIS包的場景。

  下面我們重點介紹Sql Server Agent執行包的詳細過程,這也是Microsoft 推薦的一種調度方式,雖然Sql Server Agent Job 大家已經非常熟悉了,但是SSIS包任務的配置,對於新手來說,可能也不是那么容易。

   首先,打開Sql Server ,新建作業,如圖

 
 輸入名稱,其它默認就可以了。
選擇【步驟】,點擊【新建】,如圖:(注意,這一步很關鍵,與其它JOB任務的差異也就在這一步)

 

[步驟名稱]:隨意輸入。

[類型]:選擇“Sql Server Integration Services 包”。

[運行身份]:默認情況下,該下拉列表框中只有一項“Sql Server 代理服務帳戶”,選擇此項。

在[常規]選項卡下,

[包源]:里面有三種選擇:Sql Server 、文件系統,SSIS包存儲區,這與前面安裝部署時的選擇有關系。我們選擇[文件系統]。

[包]:選擇SSIS 包文件。

[確定],返回到新建作業界面。

配置計划,這個很簡單,與其它Job 任務一樣,不再累述。

到此為止,一個Sql Server Agent Job 就配置完成了,我們終於可以舒口氣了。可是沒有想到:黎明前是最黑暗的,噩耗也就此開始。

到達指定時間后,回到Sql Server Agent ,查看Job 運行歷史記錄,卻是“滿堂紅”啊,如圖:

這是為什么呢?通過DTExecui.exe 能成功運行,而通過Sql Server Agent 就不能運行了?
其實原因很簡單,就是前面配置的[運行身份]的問題,DTExecui.exe 是以登錄當前服務器的用戶的身份來運行的,而在sql Server Agent 中,卻是以 "Sql Server 代理服務帳戶"的身份運行,而SSIS包中,數據庫連接的密碼,是基於當前機器的登錄用戶的,當換一個用戶的時候,數據庫連接字符串中的密碼,自然也就不生效了。所以錯誤提示,Sa 連接失敗。
面對這種情況,一般有三種解決辦法:
一種是[啟用包配置],將數據庫連接信息寫入配置文件,包無論通過什么用戶運行,都會重新加載這個配置文件,問題自然也就解決了。
1.生成config配置文件--http://www.cnblogs.com/WarBlog/p/6553078.html 
2.sqlserver job調用調用config配置文件
2.1.

2.2.添加配置文件

第二種是重新配置Sql Agent Service 的登錄帳戶,缺省情況下,Sql Server Agent Service 的登錄帳戶為NetWork Service,我們只要把它修改成登錄當前機器的用戶就可以了。

第三種解決辦法就是添加代理帳戶,該代理帳戶的安全憑據也指向登錄到當前機器的用戶。這種方法用的人不多,下面我們詳細介紹一下,如何建立代理帳戶。
首先,打開Sql Server Management Studio ,在[安全性]節點下,新建用戶憑據,如圖:

[憑據名稱]:Admin Acces(隨意輸入)。
[標識]:也就是用戶標識,選擇登錄到機器的當前用戶就可以了。
輸入[密碼]和[確認密碼],單擊[確定],就完成安全憑據的建立。
然后,添加代理帳戶。
在Sql Server Management Studio中,找到[Sql Server 代理]-->[代理]節點,右擊-->[新建代理],打開[新建代理帳戶]對話框,如圖:

在常規頁面:
[代理名稱]:Admin Access proxy(可以隨意輸入)。
[憑據名稱]:Admin Access。就是前面創建的安全性憑據。
[對以下子系統有效]:勾選"Sql Server Integration Services ",如果此代理帳戶還需要運行其它子系統,則勾選上列表中的對應項就可以了。
切換到[主體]頁面,添加服務器角色,如圖:

點擊[添加],添加用戶角色,如果只要求運行SSIS包的話,只選擇如圖兩種角色就可以了。
單擊[確定],Sql Server Agent 代理帳戶就建立完成了,這時我們再回到Job 部署界面,在[運行身份]下拉列表框中,就多出一項了,如圖:


我們選擇剛創建的代理帳戶[Admin Access Proxy],點擊[確定]。這時再去查看包的運行歷史記錄,就春意盎然,一遍綠色了。


免責聲明!

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



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