西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)其它知識(shí) → SSAS不同環(huán)境幾種部署方式

SSAS不同環(huán)境幾種部署方式

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:本站整理時(shí)間:2010/9/2 14:49:59字體大小:A-A+

作者:佚名點(diǎn)擊:397次評(píng)論:0次標(biāo)簽: SSAS 部署

  • 類型:屏幕錄像大。113.5M語言:中文 評(píng)分:10.0
  • 標(biāo)簽:
立即下載

SSAS庫的部署有很多種方式,根據(jù)環(huán)境的不同可以選擇不同的方法,本文列舉幾種最常見的部署方式,以及闡述他們的應(yīng)用環(huán)境。

 環(huán)境約定:SQL Server 2008

示例庫:Adventure Works DW

方式一:Visual Studio直接Deploy

這個(gè)方法是最直接簡(jiǎn)單的方法,大多數(shù)我們都是通過這種方法部署到本地,如果需要部署到其它機(jī)器上參考下圖:

右鍵點(diǎn)擊SSAS項(xiàng)目然后選擇"屬性",在探出的界面中選擇部署。這是直接通過源文件部署到Server上,需要注意的是我們需要有目標(biāo)服務(wù)器的相關(guān)權(quán)限。

如果是用Visual Studio在線打開的SSAS庫,是沒有這個(gè)配置界面的。

這種方式適合服務(wù)器環(huán)境比較自由的情況,也是最直接的一種部署方式。先決條件就是目標(biāo)機(jī)器或者服務(wù)器上一定要安裝有BIDS(實(shí)際就是visual studio的一個(gè)shell)。

 方式二:備份,還原

在開發(fā)環(huán)境把SSAS庫備份成abf文件,方法,右鍵要備份的庫,選擇備份:

然后在目標(biāo)服務(wù)器上還原,同樣,右鍵,還原:

這種方式多用在開發(fā)環(huán)境和生產(chǎn)環(huán)境隔離的情況。

缺點(diǎn)是對(duì)于數(shù)據(jù)源連接的處理,因?yàn)樵谝呀?jīng)隔離的環(huán)境下,數(shù)據(jù)源服務(wù)器的配置肯定是不同的,所以在恢復(fù)之后,往往需要用visual studio連接到恢復(fù)的SSAS庫上手動(dòng)的去更改;蛘咧苯釉赟SMS中去更改。

 方式三:ascmd.exe

以命令行的方式來部署。這個(gè)程序可以在類似下面的位置找到:

C:\Program Files\Microsoft SQL Server\100\Samples\Analysis Services\Administrator\ascmd\CS

這下面是它的源文件,給出源文件的目的在于,有可能你的開發(fā)環(huán)境是32位換幾個(gè),而生產(chǎn)環(huán)境是64位環(huán)境,那么你就需要32位和64位版本的這個(gè)ascmd文件。我們只需要在編譯的時(shí)候指定就可以:

這種方式部署,需要將已經(jīng)部署好的SSAS庫生成為一個(gè)XMLA腳本,它是一個(gè)XML格式的文件。

以下是具體的方法:

注:生成的時(shí)間可能會(huì)比較長(zhǎng),取決于SSAS DB的復(fù)雜程度。(參考:Adventure Works的庫會(huì)超過五分鐘)

如果需要覆蓋的方式部署的話,那么需要在根節(jié)點(diǎn)加入一個(gè)屬性:AllowOverwrite="true"

需要關(guān)注的一個(gè)地方就是,需要更改Data Source,這個(gè)可以在XMLA文件中檢索到:

由于部署的目標(biāo)服務(wù)器會(huì)跟本地的情況不同,所以這里留一個(gè)占位符。方法是把Localhost(或者你相應(yīng)Data Source位置的配置)替換成:$(DWServer)

然后,打開一個(gè)命令行,cd定位到ascmd.exe所在的目錄,然后敲如下命令:

ASCMD -S xxx.xxx.xxx.xxx -v DWServer=xxx.xxx.xxx.xxx -i AdventureWorks.xmla

以上是假定ascmd和保存下來的XMLA在同一目錄,如果不在一起,那么更改-i后面的值就可以。

其中:

-S是要部署的目標(biāo)服務(wù)器地址,不如localhost或者172.5.3.123

-v就是參數(shù)的替換,也就是之前替換的$DWServer,也就是數(shù)據(jù)源所在的位置。

另如果是在64位環(huán)境使用,記得要用64位版本去編譯ascmd.exe。

這種方法的適用面比較廣泛,因?yàn)榇蠖鄶?shù)BI項(xiàng)目的開發(fā)環(huán)境和生產(chǎn)環(huán)境都是隔離的,而且都有各自的數(shù)據(jù)倉庫。在部署的過程中,完全可以寫一個(gè)帶參數(shù)的批處理腳本,這樣會(huì)使部署更靈活一些。

 

 

方式四:在程序中通過AMO。

要點(diǎn)是要引用如下的一個(gè)命名空間:

核心代碼如下:

//connect ssas

Server _server = new Server();

_server.Connect("localhost");

//load xmla content to string.

StreamReader sr = new StreamReader("XMLAQuery.xmla", System.Text.Encoding.Default);

string strXMLA = sr.ReadToEnd();

sr.Close();

//execute

XmlaResultCollection _result = _server.Execute(strXMLA);

foreach (XmlaResult r in _result)

{

foreach (XmlaMessage m in r.Messages)

{

    Console.WriteLine(m.Description);

}

}

需要注意的是如果部署出現(xiàn)問題,這里是不會(huì)拋異常的,所以部署的結(jié)果只能通過調(diào)用Server實(shí)例的Execute方法的返回結(jié)果來看到,請(qǐng)留意上面代碼的foreach部分。

以下是經(jīng)常會(huì)遇到的錯(cuò)誤之一,提示SSAS庫已經(jīng)存在,原因是沒有加入上面提到的AllowOverwrite="true"

部署成功的話在結(jié)果集里是沒有任何消息的。

這種方法適用于自己系統(tǒng)的集成開發(fā),相對(duì)自由靈活一些。

總結(jié):

以上列舉了SSAS庫部署最常用的幾種方法,各種方法的復(fù)雜程度不一,適應(yīng)的場(chǎng)景也各不相同,項(xiàng)目中可以根據(jù)實(shí)際情況來選擇不同的方案。

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)