SSAS不同環境幾種部署方式
SSAS庫的部署有很多種方式,根據環境的不同可以選擇不同的方法,本文列舉幾種最常見的部署方式,以及闡述他們的應用環境。
環境約定:SQL Server 2008
示例庫:Adventure Works DW
這個方法是最直接簡單的方法,大多數我們都是通過這種方法部署到本地,如果需要部署到其它機器上參考下圖:
右鍵點選SSAS專案然後選擇"屬性",在探出的介面中選擇部署。這是直接通過原始檔部署到Server上,需要注意的是我們需要有目標伺服器的相關許可權。
如果是用Visual Studio線上開啟的SSAS庫,是沒有這個配置介面的。
這種方式適合伺服器環境比較自由的情況,也是最直接的一種部署方式。先決條件就是目標機器或者伺服器上一定要安裝有BIDS(實際就是visual studio的一個shell)。
方式二:備份,還原
在開發環境把SSAS庫備份成abf檔案,方法,右鍵要備份的庫,選擇備份:
然後在目標伺服器上還原,同樣,右鍵,還原:
這種方式多用在開發環境和生產環境隔離的情況。
缺點是對於資料來源連線的處理,因為在已經隔離的環境下,資料來源伺服器的配置肯定是不同的,所以在恢復之後,往往需要用visual studio連線到恢復的SSAS庫上手動的去更改。或者直接在SSMS中去更改。
方式三:ascmd.exe
以命令列的方式來部署。這個程式可以在類似下面的位置找到:
C:\Program Files\Microsoft SQL Server\100\Samples\Analysis Services\Administrator\ascmd\CS
這下面是它的原始檔,給出原始檔的目的在於,有可能你的開發環境是32位換幾個,而生產環境是64位環境,那麼你就需要32位和64位版本的這個ascmd檔案。我們只需要在編譯的時候指定就可以:
這種方式部署,需要將已經部署好的SSAS庫生成為一個XMLA指令碼,它是一個XML格式的檔案。
以下是具體的方法:
注:生成的時間可能會比較長,取決於SSAS DB的複雜程度。(參考:Adventure Works的庫會超過五分鐘)
如果需要覆蓋的方式部署的話,那麼需要在根節點加入一個屬性:AllowOverwrite="true"
需要關注的一個地方就是,需要更改Data Source,這個可以在XMLA檔案中檢索到:
由於部署的目標伺服器會跟本地的情況不同,所以這裡留一個佔位符。方法是把Localhost(或者你相應Data Source位置的配置)替換成:$(DWServer)
然後,開啟一個命令列,cd定位到ascmd.exe所在的目錄,然後敲如下命令:
ASCMD -S xxx.xxx.xxx.xxx -v DWServer=xxx.xxx.xxx.xxx -i AdventureWorks.xmla
以上是假定ascmd和儲存下來的XMLA在同一目錄,如果不在一起,那麼更改-i後面的值就可以。
其中:
-S是要部署的目標伺服器地址,不如localhost或者172.5.3.123
-v就是引數的替換,也就是之前替換的$DWServer,也就是資料來源所在的位置。
另如果是在64位環境使用,記得要用64位版本去編譯ascmd.exe。
這種方法的適用面比較廣泛,因為大多數BI專案的開發環境和生產環境都是隔離的,而且都有各自的資料倉庫。在部署的過程中,完全可以寫一個帶引數的批處理指令碼,這樣會使部署更靈活一些。
方式四:在程式中通過AMO。
要點是要引用如下的一個名稱空間:
核心程式碼如下:
//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);
}
}
需要注意的是如果部署出現問題,這裡是不會拋異常的,所以部署的結果只能通過呼叫Server例項的Execute方法的返回結果來看到,請留意上面程式碼的foreach部分。
以下是經常會遇到的錯誤之一,提示SSAS庫已經存在,原因是沒有加入上面提到的AllowOverwrite="true"
部署成功的話在結果集裡是沒有任何訊息的。
這種方法適用於自己系統的整合開發,相對自由靈活一些。
總結:
以上列舉了SSAS庫部署最常用的幾種方法,各種方法的複雜程度不一,適應的場景也各不相同,專案中可以根據實際情況來選擇不同的方案。
相關推薦
SSAS不同環境幾種部署方式
SSAS庫的部署有很多種方式,根據環境的不同可以選擇不同的方法,本文列舉幾種最常見的部署方式,以及闡述他們的應用環境。 環境約定:SQL Server 2008 示例庫:Adventure Works DW 這個方法是最直接簡單的方法,大多數我們都是通過這種方法
【原創】大叔經驗分享(23)hive metastore的幾種部署方式
tps rac driver 所有 ava onf script 1.2 uri hive及其他組件(比如spark、impala等)都會依賴hive metastore,依賴的配置文件位於hive-site.xml hive metastore重要配置 hive.met
uboot環境變數中幾種啟動方式解析
說明:1)板子裡原本是沒有環境變數的,u-boot的預設情況下會有一些基本的環境變數,定義在標頭檔案中; 2)執行了saveenv/save之後,環境變數會第一次儲存到nor flash/
索引的幾種掃描方式
http table 技術分享 -1 9.png alt logs image 索引 索引的幾種掃描方式
連接到Oracle的幾種命名方式
oracle 連接從事Oracle相關工作的人,每天都會使用各種工具連接到Oracle數據庫,比如:SQL*Plus、PL/SQL、TOAD、SQLDeveloper等等,下面就列舉了幾種連接到Oracle的方式,本例中使用的是SQL*Plus為例。1、Easy Connect命名方式這種方式是一種很簡單的方
使用java配置定時任務的幾種配置方式及示例
遞增 exc trigge strong trigger except 字符 ssi uart Spring定時器,主要有兩種實現方式,包括Java Timer定時和Quartz定時器! 1.Java Timer定時 首先繼承java.util.TimerTask類實現
mysql的幾種啟動方式
sta allow status option 客戶端連接 mini all res 5.1 mysql的四種啟動方式: 1、mysqld 啟動mysql服務器:./mysqld --defaults-file=/etc/my.cnf --user=root 客戶端連接:
Python模塊常用的幾種安裝方式
author 位置 def 位操作 依賴關系 依賴 模塊 sys.path 此外 Python模塊安裝 一、 單文件模塊直接把文件拷貝到 $python_dir/Lib 二、 多文件模塊,帶setup.pypython setup.py install 三、 egg文件1)
JAVA獲取文件的幾種常用方式
ada col epo term 打印 core book port nbsp 1、user.dir System.out.println(System.getProperty("user.dir")); 此方獲取的是運行的路 比如 1、 2、如果在eclipse上運
單例模式的幾種實現方式
str 類加載 代碼 創建對象 stat 懶漢 導致 方法 不支持 1、懶漢式,線程不安全 是否 Lazy 初始化:是 是否多線程安全:否 實現難度:易 描述:這種方式是最基本的實現方式,這種實現最大的問題就是不支持多線程。因為沒有加鎖 synchronized,所以嚴格意
Selenium-幾種等待方式
什麽 頻率 一次 進行 utf 可執行 /usr baidu 超過 強制等待 一直使用的time.sleep(5),可以放在任意地方,不好的地方,不太準確確定時間 隱形等待 driver.implicitly_wait(5) 設置了一個最長等待時間,如果在規
jmeter ---json幾種讀取方式,ArrayList循環讀取
導入 一起 .com json數據格式 jmeter ips pos processor 直接 在之前寫過提取json數據格式的文章,這次對jmeter讀取json數據格式進行整理。 舉例一個接口的response 格式如下: { "data" : {
微軟 WCF的幾種寄宿方式,寄宿IIS、寄宿winform、寄宿控制臺、寄宿Windows服務
創建 src 體驗 ash pos 如果 理解 文件 .get WCF寄宿方式是一種非常靈活的操作,可以在IIS服務、Windows服務、Winform程序、控制臺程序中進行寄宿,從而實現WCF服務的運行,為調用者方便、高效提供服務調用。本文分別對這幾種方式進行詳細介紹並開
索引的幾種使用方式
查找 浪費 相對 掃描 遇到 l數據庫 系統 需求 mem HASH Hash這個詞,可以說,自打我們開始碼的那一天起,就開始不停地見到和使用到了。其實,hash就是一種(key=>value)形式的鍵值對,如數學中的函數映射,允許多個key對應相同的value,但不
c語言函數指針的幾種使用方式
log print 直接 pri turn [] get div c語言函數 1.直接定義函數指針賦值並使用。 #include <stdio.h> int max(int x, int y) { if (x > y) ret
Linux之(tomcat)服務之JDK2種部署方式
bit .rpm inux led etc secure mode 用戶 coo wget部署 jdk官網下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151
SAP Fiori應用的三種部署方式
gem ips javascrip 觀察 clipboard acc 變化 alt 進行 封面圖片來自Google搜索,關鍵字: Fiori Deployment 方式1 On premise環境下以BSP應用作為Fiori應用部署和運行的載體 在SAP成都labs我曾經
分布式session的幾種實現方式
服務器 單點 redis 容易 穩定性 常用 str 廣播 cati 1.基於數據庫的session共享 2.基於NFS共享文件系統 3.基於memcached 的session,怎麽保證session的高可用 4.基於resin/tomcat web容器本身的sessio
HTML5之圖片在Retina屏的常用幾種處理方式
tin screen width html5 bar color pan led image Media Queries使用css3的媒體查詢實現高清屏的圖片處理。 @media only screen and (-webkit-min-device-pixel-rat
單例模式幾種實現方式
size ron jdk null singleton bsp 還要 一個 fin 1、餓漢式:靜態常量 特點:單例的實例被聲明成static和final變量了,在第一次加載類到內存中時就會初始化,所以會創建實例本身是線程安全的 public class Sin