問題:
我們期待在我們的SQL Server分析服務服務器中自動執行任務。請問您能給我們講解怎樣在SSIS中使用分析服務執行DDL任務(Analysis Services Execute DDL Task)的細節嗎?
專家解答:
分析服務執行DDL任務(Analysis Services Execute DDL Task)是一個很有用的工具,它可以讓你用一個SQL Server分析服務實例做任何事情。例如,你可以備份一個數據庫,處理一個數據分析立方體,創建一個分區。利用XML分析(XMLA)來執行指定的命令,這是用於客戶應用程序與Microsoft SQL Server分析服務實例交互作用的native XML協議。你可以在網上或書裡找到所有關於XMLA的細節,只要搜索XMLA就可以了。
要記住一點,那就是你可以利用SQL Server Management Studio (SSMS)創建任何你需要做的腳本。比如,你可以連接到SQL Server分析服務的服務器,右鍵點擊一個數據庫,然後從下拉菜單中選擇“Back up”.你可以在備份數據庫會話中點擊這個腳本按鈕來產生XMLA腳本去執行備份。你可以從SSIS程序包中運用分析服務執行DDL任務來運行這個XMLA腳本。創建SSIS程序包的好處在於你可以在需要時或者按照時間表通過SQL Server Agent來進行一個可重復的過程。
在這種方法中,我們在一個SSIS程序包中按照步驟來使用分析服務執行DDL任務(Analysis Services Execute DDL Task)。我們將創建一個示例程序包來執行Adventure Works DW 分析服務數據庫與SQL Server 2005的備份。
創建示例SSIS程序包
首先從Microsoft SQL Server 2005程序組中啟動 Business Intelligence Development Studio (BIDS),並創建一個新的一體化服務項目(Integration Services project)。一個命名為Package.dtsx 的SSIS程序包將自動產生並添加到項目(project)中。把程序包(package)重命名為SSASExecuteDDLTask_Demo.dtsx,然後在SSIS程序包中進行以下步驟:
步驟一:
添加一個連接管理(Connection Manager)到SSAS服務器中。右鍵點擊連接管理(Connection Managers)頁面,從下拉菜單中選擇新的分析服務連接(New Analysis Services Connection)。在對話框中接受默認值以連接到本地SSAS服務器(如果你想連接到其他機器上的SSAS服務器上,你可以酌情編輯)。
步驟二:
添加一個字符串變量到程序包(package)中。我們可以看到這個變量包含XMLA腳本來執行備份。右鍵單擊控制流(Control Flow),在下拉菜單中選擇變量,接著輸入變量如下:
步驟三: